看板 Database 關於我們 聯絡資訊
各位前輩好,請教一下 如果有300萬筆資料需要select ,然後這300萬筆資料,是多個table,join之後才select出來的 ,那麼,先把部份的select資料,放到data table,再繼續join, 效能會比較好。 還是說,直接join就可以了呢? 我心理覺的dbms應該會做優化,所以直接join應該就可以了吧? 但是朋友認為先放到data table再繼續join效能會比較好。 我晚點會來做個實驗,手邊沒有安裝資料庫的電腦。 想先詢問前輩們的經驗和看法。 謝謝指導了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.185.201 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1432946989.A.781.html
rockchangnew: 先降低筆數再join會比較好 05/30 22:46
benqm300: 我認為要看實際執行時間,如果沒差多少我會直接join 05/31 13:29
gun5566: 先優化SQL + INDEX有沒有建 效能差再想辦法 05/31 20:38
sing10407: 直接會快很多 05/31 23:39
iFEELing: DBMS 會優化 但本質上資料集越小處理成本就越小 06/01 13:54
iFEELing: IO / merge 都要成本 06/01 13:54
Ammenze: 直接JOIN,優化SQL,建Index先 06/01 14:25
wen001: 推樓上,300萬大不大要看欄位,可用子查詢在join。 06/03 22:49