我有兩個表:MySQL的左連接對2個單獨的查詢(性能)
++++++++++++++++++++++++++++++++++++
| Games |
++++++++++++++++++++++++++++++++++++
| ID | Name | Description |
++++++++++++++++++++++++++++++++++++
| 1 | Game 1 | A game description |
| 2 | Game 2 | And another |
| 3 | Game 3 | And another |
| .. | ... | ... |
++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++
| GameReviews |
+++++++++++++++++++++++++++++++++++++++
| ID |GameID| Review |
+++++++++++++++++++++++++++++++++++++++
| 1 | 1 |Review for game 1 |
| 2 | 1 |Another review for game 1|
| 3 | 1 |And another |
| .. | ... | ... |
+++++++++++++++++++++++++++++++++++++++
選項1:
SELECT
Games.ID,
Games.Name,
Games.Description,
GameReviews.ID,
GameReviews.Review
FROM
GameReviews
LEFT JOIN
Games
ON
Games.ID = GameReviews.GameID
WHERE
Games.ID=?
選項2:
SELECT
ID,
Name,
Description
FROM
Games
WHERE
ID=?
然後 SELECT ID, 評論 FROM GameReviews WHERE GameID =?
很顯然,查詢1會更「簡單」,因爲它只需要編寫更少的代碼,另一個在數據庫上似乎在邏輯上更「容易」,因爲它只查詢Games
表一次。問題的關鍵在於什麼時候真的在性能和效率方面存在差異?
我希望我有時可以接受這兩個答案... – SnareChops 2013-03-10 02:52:53