phillip
Полезный
- Регистрация
- 4 Сен 2007
- Сообщения
- 411
- Реакции
- 15
- Автор темы
- #1
Есть страница которая каждую секунду отдает 20 новых кеев. Я эту страницу решил парсить и кеи собирать в БД. При этом, если такой кей в бд уже есть, то мы не записываем его вновь, а добавляем +1 к к нему. То есть получается два поля
кей | сколько раз встретился
Я сделал алгоритм самый простейщий-
Дак вот такой алгоритм выполняется каждую секунду. или в секунду дважды даже. В итоге через три дня работы я не смог попасть в мускуль- too many connections
Вопрос- как лучше оптимизировать алгоритм в плане запросов к БД
кей | сколько раз встретился
Я сделал алгоритм самый простейщий-
PHP:
foreach($parsed_keys as $key){
$query = "SELECT * FROM `parse_keys` WHERE `key`='".$key."'";
if(mysql_num_rows($result)==0){
$query = "INSERT INTO `parse_keys` VALUES('0','1','".addslashes($key)."')";
mysql_query($query,$link) or die(mysql_error()."<br />\n".$query);
} else {
$row=mysql_fetch_assoc($result);
$row['rc']++;
echo 'update <b>'.$row['key'].'</b> set rc='.$row['rc'].'<br/>';
$query = "UPDATE `parse_keys` SET `rc`='".$row['rc']."' WHERE `key`='".addslashes($row['key'])."'";
mysql_query($query,$link) or die(mysql_error()."<br />\n".$query);
}
}
Вопрос- как лучше оптимизировать алгоритм в плане запросов к БД