mysql 近5万条数据的表 使用联表查询 出现服务器CPU占用过多,贴大神代码求优化指点!!!!!
有两张表分别为:lu_yccdd 和 lu_taizhang
使用的联表查询代码:
SELECT distinct(t.sc_time) sc_time,count(distinct(y.id)) total,count(distinct(t.cdd_id)) tjjg,(count(distinct(y.id))-count(distinct(t.cdd_id))) wtijg FROM lu_yccdd y,lu_taizhang t WHERE ( `status` IN ('1','2') ) AND ( `sc_time` LIKE '%%' ) GROUP BY t.sc_time LIMIT 15 这条联表查询代码起先在表数据还不是很多 一两万的时候是没出现任何问题的,但是现在表数据有近5万条的时候 查询结果 久久未能显示,CPU直接飙升近90%,浏览器直接卡机操作不了,是什么原因呢,应该怎么去优化或者是不是mysql的设置问题?
希望能有大神给我解答!在此谢过了!!!!
有两张表分别为:lu_yccdd 和 lu_taizhang
使用的联表查询代码:
SELECT distinct(t.sc_time) sc_time,count(distinct(y.id)) total,count(distinct(t.cdd_id)) tjjg,(count(distinct(y.id))-count(distinct(t.cdd_id))) wtijg FROM lu_yccdd y,lu_taizhang t WHERE ( `status` IN ('1','2') ) AND ( `sc_time` LIKE '%%' ) GROUP BY t.sc_time LIMIT 15 这条联表查询代码起先在表数据还不是很多 一两万的时候是没出现任何问题的,但是现在表数据有近5万条的时候 查询结果 久久未能显示,CPU直接飙升近90%,浏览器直接卡机操作不了,是什么原因呢,应该怎么去优化或者是不是mysql的设置问题?
希望能有大神给我解答!在此谢过了!!!!
不是啊,这段语句是没有问题的,我这两张表有共同的字段的啊 就是y.id = t.cdd_id,在这里我只是想要数据差而已 而不是 通过共同字段查询显示其他字段 所以是不需要 a.xx=b.xx 这样的!这段语句结果显示是可以执行的。就是数据上升到几万条以后执行就很慢,然后CPU直接飚了。我贴出来是想请各位看看有没有其他优化的方法!
哥~我也想explain啊,但是这个一执行 直接就卡机了。只能关闭数据库再重启,不知道为什么,泪奔...
哥~我也想explain啊,但是这个一执行 直接就卡机了。只能关闭数据库再重启,不知道为什么,泪奔...去error日志里面看看 报错信息吧,把报错信息贴出来,大家看看。
哥~我也想explain啊,但是这个一执行 直接就卡机了。只能关闭数据库再重启,不知道为什么,泪奔...去error日志里面看看 报错信息吧,把报错信息贴出来,大家看看。我已经explain出来了,哥帮我分析分析
这个是查询语句:
SELECT distinct(t.sc_time) sc_time,count(distinct(y.id)) total,count(distinct(t.cdd_id)) tjjg,(count(distinct(y.id))-count(distinct(t.cdd_id))) wtijg FROM lu_yccdd y,lu_taizhang t WHERE ( `status` IN ('1','2') ) AND ( `sc_time` LIKE '%%' ) GROUP BY t.sc_time LIMIT 15下面是表结构:1、lu_yccdd 2、lu_taizhang
查询用不上索引,那基本上是悲剧。