有没有更好的方法来编写这个MySQL查询?
问题描述:
像问题说的是有没有更好的方式来写:有没有更好的方法来编写这个MySQL查询?
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.listid
和clients_lists_relationships.listid
具有相同的数据类型和长度,并进行索引。这一定会帮助您查询的性能。
看起来很好。你想达到什么目的? – 2012-01-14 10:30:45
尝试获取每个列表中的用户列表和成员数量。 – 2012-01-14 10:31:41