Скрипт выполняется очень долго. Три миллиона записей будут обрабатываться месяцы.
Делаю удаление похожий записей таким скриптом.
Суть скрипта. Берем записи по порядку по id и сверяем их со всеми записями, если процент показывает схожесть, сверяемые записи удаляются.
//берем записи по порядку и пробегаем базу
$row_res = mysql_query("SELECT id, title FROM blog WHERE st = 0 ORDER by id");
while ($row = mysql_fetch_assoc($row_res)) {
$str = $row['title'];
//ставим в базу 2, означает - запись уже обработана
mysql_query("UPDATE blog SET st = 2 WHERE id = $row['id']");
//пробегам все записи и сверяем с взятой записью
$rows_res = mysql_query("SELECT id, title FROM blog WHERE st = 0 ORDER by id");
while ($rows = mysql_fetch_assoc($rows_res)) {
$sim = similar_text($row['title'], $rows['title'], $perc);
$sims = round($perc);
if($sims > 73) {mysql_query("DELETE FROM blog WHERE id = $rows['id']");}
}
}
но такой скрипт очень долго обрабатывает три миллиона записей. Пару месяце примерно выйдет.
Есть ли способ ускорить?