几天前,我在我的网站上运行了持久查询,这需要很长时间才能完成(我已经运行了大约 3 次)
它几乎杀死了我的数据库,一切都变慢了,1040 too many connections
当我试图从我的几个表中获取数据时我得到了(例如会话和设置表,它们是我网站中最常用的表 - 几乎每个页面都在使用它们),并且奇怪的是我没有试图通过我的网站获取数据,我试图从 phpmyadmin 访问它们!这意味着那些表无法访问
无论如何,我关闭了网站并删除了我的会话表,并且以某种方式修复了它(治愈我再也没有运行过该查询)。
首先我想知道这些表的附加内容是什么?他们被腐蚀了吗?我知道已达到连接限制,但我认为我不应该在 phpmyadmin 中得到它
第二个也是最重要的事情是我觉得我的查询现在运行速度要慢得多,即使我不再收到那个错误并且我的连接数低于每页 30 个,这与我得到的连接数错误有关吗?我应该清除还是清空一些东西!?
这是查询(每个表大约有 50-60 000 行)
SELECT
u.id, u.username , u.created_on , meta.full_name as fullname , meta.avatar , COUNT(s.val) as image_scores
FROM
users u
LEFT JOIN meta ON (u.id = meta.user_id)
LEFT JOIN images i ON (u.id = i.user_id)
LEFT JOIN score_history s ON (i.id = s.content_id)and s.content_type = 'image'
GROUP BY
u.id
ORDER BY
image_scores DESC
LIMIT 9