繁体   English   中英

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

[英]Is there a better way to write this MySQL query?

就像问题说的那样,是否有更好的方式编写此代码:

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; 

并不是的。 该查询对我来说很好。 您可以尝试使用别名以提高可读性:

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具有相同的数据类型和长度,并已建立索引。 这无疑将有助于您查询的性能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM