[回到版面]
回應模式
名 稱
內 文
附加圖檔[] []
  • 可附加圖檔類型:GIF, JPG, JPEG, PNG,瀏覽器才能正常附加圖檔
  • 附加圖檔最大上傳資料量為 4096 KB。
  • 當檔案超過寬 125 像素、高 125 像素時會自動縮小尺寸顯示
  • AA可使用 [aa][/aa] 防止變形
  • 回覆時程式碼縮排會被trim消掉,請善用[code][/code]標色或貼到ideone等網站
  • LaTeX記法可以用「$$」或「\( \)」包起來,例如「$\sum_{k=1}^{k=n} k^2 = \frac{n(n+1)(n+2)}{6}$」

檔名:1502766933592.jpg-(21 KB, 640x361)
21 KB
無標題無名氏17/08/15(二)11:15:33 ID:J6s9AOwkNo.12399
請問島民太太 最近我用java寫mybaits撈資料 總共有三張表
我沒用join下SQL而是撈三次出來處理(有加where) 另一位26資深工程師看到說應該要一次用join撈出來效能才好 請問他說的是正確的嗎 都有加索引 資料量接近5千萬以上
無名氏17/08/15(二)11:31:29 ID:CE/bIT9sNo.12400
實測就知道啦
無名氏17/08/15(二)23:04:21 ID:YxdygnfgNo.12401
無名氏17/08/15(二)23:07:20 ID:tkynIJaENo.12402
能一次做完的事情幹麻做三次...
無名氏17/08/16(三)03:02:52 ID:1BffZ0Z.No.12411
三張表JOIN要看情況
假如你要撈的資料少
JOIN可能要特別設計
無名氏17/08/16(三)03:13:46 ID:1BffZ0Z.No.12412
譬如說只要主表的幾筆資料
就可以先把主表資料先SELECT在JOIN其他兩張表
當然也要視情況而定

SELECT
*
FROM
(
SELECT
*
WHERE A < 10
) A
LEFT JOIN B ON A.OO = B.OO
LEFT JOIN C ON A.XX = C.XX

會比

SELECT
*
FROM A
LEFT JOIN B ON A.OO = B.OO
LEFT JOIN C ON A.XX = C.XX
WHERE A < 10



5000萬不是小數目
無名氏17/08/16(三)14:22:20 ID:uZU8FbusNo.12416
>>12412
不過一些SQL引擎現在都會幫你重編譯了,詳細最好還是實測看實際處理流程比較準。

【刪除文章】[]
刪除用密碼: