我很關心優化我的查詢,只要查詢後從數據庫發回的數據量。避免MySQL查詢吃掉不必要的帶寬
假設我有兩張桌子。一個叫「藝術家」另一個叫「專輯」。
比方說, 「藝術家」表列是:ID和名
而「專輯」表列是:ID,artist_id,冠軍
假設我想要一個頁面來顯示藝術家的名字作爲標題。然後在下面,我想顯示藝術家專輯的列表。
我可以通過做這樣的事情很容易做到:
SELECT artists.name AS artist_name, albums.title AS album_title
LEFT JOIN albums
ON albums.artist_id = artists.id
WHERE artists.id = 3;
這給我一個結果,可能是這個樣子:
artist_name | album_title
|
Justin Bieber | My First Crappy Album
Justin Bieber | Another Crappy Album
Justin Bieber | Yet Another Crappy Album
對這一結果的問題是,它給我多次回到藝術家的名字,當我真的只需要一次。我擔心這種做事方式效率不高。特別是如果藝術家已經有很多專輯。我可能是錯的,如果我是,有人請糾正我。
無論如何,有沒有更好的方法來做到這一點?一個我不必多次檢索藝術家名字的地方?
是的,我不會說那個「優化」。如果它讓你感覺更好,把專輯名稱放在左邊,藝術家名字在右邊。這是你從查詢中得到的東西,知道我的意思嗎? –