[討論] select大量資料

看板Database作者 (Terry)時間9年前 (2015/05/30 08:49), 編輯推噓4(404)
留言8則, 7人參與, 最新討論串1/2 (看更多)
各位前輩好,請教一下 如果有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

05/30 22:46, , 1F
先降低筆數再join會比較好
05/30 22:46, 1F

05/31 13:29, , 2F
我認為要看實際執行時間,如果沒差多少我會直接join
05/31 13:29, 2F

05/31 20:38, , 3F
先優化SQL + INDEX有沒有建 效能差再想辦法
05/31 20:38, 3F

05/31 23:39, , 4F
直接會快很多
05/31 23:39, 4F

06/01 13:54, , 5F
DBMS 會優化 但本質上資料集越小處理成本就越小
06/01 13:54, 5F

06/01 13:54, , 6F
IO / merge 都要成本
06/01 13:54, 6F

06/01 14:25, , 7F
直接JOIN,優化SQL,建Index先
06/01 14:25, 7F

06/03 22:49, , 8F
推樓上,300萬大不大要看欄位,可用子查詢在join。
06/03 22:49, 8F
文章代碼(AID): #1LQGajU1 (Database)
文章代碼(AID): #1LQGajU1 (Database)