有没有更好的方法来编写这个MySQL查询?

时间:2012-01-14 10:28:24

标签: php mysql sql database

就像问题所说,有更好的方式来写这个:

SELECT clients_lists.*, 
       COUNT(clients_lists_relationships.clientid) 
FROM   clients_lists 
       LEFT JOIN clients_lists_relationships 
         ON clients_lists.listid = clients_lists_relationships.listid 
WHERE  clients_lists.parentid = 1 
GROUP  BY clients_lists.listid; 

1 个答案:

答案 0 :(得分:3)

不是真的。查询看起来很好。您可以尝试使用别名以提高可读性:

SELECT c.*, 
       COUNT(r.clientid) 
FROM   clients_lists c
       LEFT JOIN clients_lists_relationships r
         ON c.listid = r.listid 
WHERE  c.parentid = 1 
GROUP  BY c.listid;

但它不会真正产生技术差异(不是我所知道的)。

还要确保clients_lists.listidclients_lists_relationships.listid具有相同的数据类型和长度并且已编制索引。这肯定有助于查询的性能。