Re: [SQL ]請問子查詢的效率

看板Database作者 (carl)時間13年前 (2012/10/17 22:59), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《jimshih (傳說中的果汁學長)》之銘言: : 照推文的建議 : 如果改成 : insert into oocd_breast_cancer : select oo.* from oo2002 oo, TEST : where TEST.date between '20020101' and '20021231' and TEST.id =oo2002.id : 這樣會不會比較快呢? : 還請原po試看看囉~ 再幫忙補充一下 根據這篇答案給的建議 http://stackoverflow.com/questions/6135376 "Never use IN with a subquery; this is notoriously slow. Only ever use IN with a fixed list of values." 我記得用in subquery的話 subquery會重複跑好幾次(照理來說應該跑一次就好了..) 不過我不確定現在會不會對這個作optimize就是了 不確定的話可以用explain看看 (把insert into oocd_breast_cancer換成explain跑) 這篇query的效率應該比較好 索引的話 Test.date 和 oo2002.id 都建一下應該就OK : ※ 引述《s9234140 (麻淑菸酒生)》之銘言: : : 請問若我想新增多筆資料 子查詢為有JOIN的動作 : : 但是動作過久 請問要怎麼血才能優化此查詢 感謝 : : 語法如下 : : insert into oocd_breast_cancer select * from oo2002 where id in : : ( select TEST.id from TEST, oo2002 : : where TEST.date : : between 20020101 and 20021231 and TEST.id =oo2002.id) -- http://blog.carlcarl.tw -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.242.1.198
文章代碼(AID): #1GViUuO_ (Database)
文章代碼(AID): #1GViUuO_ (Database)