繁体   English   中英

查询需要优化还是只需要更高的最大连接数?

[英]Query need optimizing or do I just need higher max connections?

我有一个mysql数据库。 我的网站上出现了很多max_user_connections错误,并且由于无法再增加几天的限制,我想知道你们是否可以帮助我优化此查询,该查询需要1-4秒才能完成。 “状态”表是具有230,221行的InnoDB,并且上面已经有索引,但这只是写得不好的查询吗?

SELECT status.id,users.id 
  FROM users, status 
 WHERE clan='someClan' 
   AND status.author!='loggedInUser' 
   AND status.anonymous!='someUser' 
   AND users.username='someUser' 
   AND status.data!='' 
   AND status.postdate > users.news_read 
GROUP BY postdate LIMIT 2

感谢您的任何帮助。

您需要在usersstatus表之间提供正确的连接。 现在,您正在返回size(用户表)* size(状态表)行数。

根据您的评论,让我假设您知道当前用户的users.id。

SELECT status.id
  FROM status
 WHERE status.clan='someClan'     \\ assuming clan is in status table
   AND status.author!='someUser' 
   AND status.anonymous!='someUser'  
   AND status.data!='' 
   AND status.postdate > (Select users.news_read 
                            from users
                           where users.username='someUser' 
                         )
GROUP BY postdate LIMIT 2

暂无
暂无

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

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