mysql左连接查询优化

mysql左连接查询优化,mysql,Mysql,我有疑问 SELECT P.*, COUNT(L.to) AS likes, U.name AS ownerName, U.username AS ownerUsername, U.picture AS ownerPicture FROM sn_posts P LEFT JOIN sn_users AS U ON U.id = P.ownerID LEFT JOIN sn_likes AS L ON L.to = P.id WHERE (P.ownerID = 69)

我有疑问

SELECT  P.*, COUNT(L.to) AS likes, U.name AS ownerName, U.username AS ownerUsername,
    U.picture AS ownerPicture
FROM sn_posts P LEFT JOIN sn_users AS U
    ON U.id = P.ownerID
LEFT JOIN sn_likes AS L
    ON L.to = P.id
WHERE (P.ownerID = 69)
GROUP BY P.id
ORDER BY P.id DESC

这需要-0.3337秒的时间,

为带有
ownerID
字段的表
snu posts
添加索引
更好

我想优化我的上述查询..您好,欢迎使用SO-请尝试提供更多信息-表结构、数据量、索引等-这样人们实际上有办法帮助您。您可以向联接列添加索引,除此之外,您的查询在我看来还行。请提供您的表数据和所需的结果。这将很容易理解。您可以在没有匹配用户的情况下发布帖子吗?如果没有,则将第一个左连接更改为内部连接。sn_likes表上的to字段是否有索引?ownerID上已经有索引,但结果显示第0-10行(总共11行,查询耗时0.3854秒)请尝试以下方法:选择P.*,按喜欢计数(L.to),U.name作为ownerName,U.username作为ownerUsername,U.picture AS ownerPicture FROM sn_发布P LEFT JOIN sn_用户作为U.id=P.ownerID和P.ownerID=69 LEFT JOIN Snu喜欢作为L.to=P.id按P.id排序按P.id说明分组