примечание: в редакцию: измените название, если есть лучше один :)удалить записи из таблицы, используя другую таблицу?
мой вопрос:
У меня есть две таблицы в моей базе данных
-----------
| table1 |
|----------|
| id |
|text |
===========
-----------
| table2 |
|----------|
| id |
|text |
===========
table1 составляет 600000 записей
таблица2 - 5 000 000 записей !! :)
Что является лучшим способом удалить все записи в таблице2, которые являются не в table1
Я главный, кстати -The быстрый способ, потому что я не хочу ждать 4 часа, чтобы завершить процесс
Есть ли у вас что-то лучше, чем следующий код:
<?PHP
$sql = "select text from table2";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$text = $row["text"];
$sql2 = "select id from table1 where text = '$text'";
$query2 = mysql_query($sql2) or die(mysql_error());
$result2 = mysql_num_rows($query2);
if($result2==0){
$sql3 = "delete from table2 where text = '$text'";
$query3 = mysql_query($sql3) or die(mysql_error());
}
}
?>
Спасибо
Может ли такое большое количество записей переполнять журнал транзакций? – mjv
зависят, если он совершает транзакцию, но да, если «да», запись транзакции значительно увеличится – RageZ