Optimization
使用 JOIN 與不使用 JOIN 比較查詢完成速度
我一直在尋找這個,但仍然沒有得到滿意的答案。我的問題是,我有 2 個表,例如表 A 和表 B。
表 A 包括:id (pk)、名稱、地址 表 B 包括:b_id (pk)、id(fk - 來自表 A)、工具
這兩個表之間的關係是一對多的。因此,A 的每一行在表 B 中可能有多個項目。
通常,我總是使用這種方式:
- 我從表 A 中選擇一行
SELECT * FROM A WHERE id = 1
- 然後我從表 B 中選擇更多數據
SELECT * FROM B WHERE b.id = 1
這種方法有效嗎?這比使用 JOIN 更好嗎,比如
SELECT A.id, A.name, A.address, B.b_id, B.tools FROM a LEFT JOIN b ON a.id = b.id WHERE a.id = 1
我應該更好地使用 JOIN 嗎?
我建議使用 JOIN ,原因如下:
- 尤其是如果索引設計得當,並且以後查詢變得複雜,它會得到優化。
- 易於閱讀和理解,更整潔的程式碼和一個結果集
- 這是專業人士的做法
- 選擇唯一需要的列,而不是所有可能增加網路流量的列