背景:
更新一張表中的某些記錄值,更新條件來自另一張含有200多萬記錄的表,效率極其低下,耗時高達幾分鐘。
update clear_res set candelete=0 where resid in耗時 365s( select distinct resourceid from att_attentionresult where important=0
);
優化後
update clear_res set candelete=0 where resid in耗時 1.41s( select resourceid from (
select distinct resourceid from att_attentionresult where important=0
) as tmp
);
總結:對於where *** in 子句效率極其低下問題,經過in的子句外包裝一層select *** from( ... )as tmp 後,極大優化效率。
mysql in子句 MySQL IN 子句
可以使用 in 子句代替許多 or 條件。要想理解 in 子句,還以表 employee tbl 為例,它的所有記錄如下所示 mysql select from employee tbl id name work date daily typing pages 1 john 2007 01 24 2...
Mysql In子句刪除
經測試mysql in子句中只能放一級子查詢,後來改用虛表,測試可用,記錄下 begin create table temptable1 as select zpwas.stock id from zen products with attributes stock as zpwas where z...
從效率低下說起
很多人都覺得自己很忙很忙,忙得總是有事情顧不過來。我在法學院時,也曾經常需要熬夜複習或趕作業。但我那時有個朋友,s.h,她的成績比我好,參加的活動比我多,找工作時也很順利 但她卻能每晚10點半左右準時睡覺,這在law students當中簡直是難以想象的。那時我就覺得,很忙 是乙個應該讓自己羞愧的藉...