我很关心优化我的查询,只要查询后从数据库发回的数据量。避免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
对这一结果的问题是,它给我多次回到艺术家的名字,当我真的只需要一次。我担心这种做事方式效率不高。特别是如果艺术家已经有很多专辑。我可能是错的,如果我是,有人请纠正我。
无论如何,有没有更好的方法来做到这一点?一个我不必多次检索艺术家名字的地方?
是的,我不会说那个“优化”。如果它让你感觉更好,把专辑名称放在左边,艺术家名字在右边。这是你从查询中得到的东西,知道我的意思吗? –