注:編輯:請如果有一個更好的:)使用另一個表從表中刪除記錄?
我的問題是編輯標題:
我在我的數據庫中的兩個表
-----------
| table1 |
|----------|
| id |
|text |
===========
-----------
| table2 |
|----------|
| id |
|text |
===========
table1的60萬條記錄
表2爲5000000個記錄!! :)
什麼是刪除表2屆的所有記錄的最佳方式在不在表1
我主要的方式-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 2009-09-17 06:58:33
取決於他是否做了交易,但是如果'是'交易記錄會大大增加 – RageZ 2009-09-17 07:02:21