最近做專案,一張單錶臨時資料達到3億,非常影響資料庫效能,就考慮刪除表中多餘的資料,就遇到這個刪除資料非常緩慢的問題了!
直接上**吧:
delete
from t_orders_detail where pro_record_id in(select a.prid from (select pr.id as prid from t_pro_record pr where pr.state=3 limit 0,1) a);
這種是用in的一般寫法,刪除起來奇慢!
後來經過該進,使用inner join 的方式刪除起來,效率成倍的提公升!
delete od from t_orders_detail od,(select * from t_pro_record pr where pr.state=3) a where od.pro_record_id=a.prid;
總結:像mysql這個關係型資料庫,最好的刪除方式就是使用連線的方式刪除,可以大大提高刪除效率! MySQL刪除資料
mysql通過delete從表中刪除 去掉 資料。可以從表中刪除特定的行或者從表中刪除所有的行。下面語句是從customer表中刪除一行 delete from customers where cust id 10006 先檢視表customers在刪除前的成員 select cust id,cus...
MySQL 刪除資料
從資料表中刪除資料使用 delete 語句,delete 語句允許用 where 子句指定刪除條件。語法格式 delete from table name where table name 要執行刪除操作的表 where 為可選引數,用於指定刪除條件,如果沒有 where 子句,將刪除表中的所有記錄...
MYSQL刪除資料
884 535 qq.com 一 mysql 刪除表的幾種情況 1 drop table table name 刪除表全部資料和表結構,立刻釋放磁碟空間,不管是 innodb 和 myisam 例項,刪除學生表 drop table student 2 truncate table table na...