+ -
当前位置:首页 → 问答吧 → 帮忙优化一下慢速查询。目的减少cpu占用

帮忙优化一下慢速查询。目的减少cpu占用

时间:2011-11-30

来源:互联网

同一个问题,刚开始发错板块了,这里还有40分
http://topic.csdn.net/u/20111130/17/d6d2d4d7-ab2f-4e61-820e-31bdd46b9d5e.html



服务器上的慢速查询日志,我的my_information表有50万条数据

# Wed Nov 30 02:28:35 2011
# Query_time: 1.010294 Lock_time: 0.000076 Rows_sent: 10 Rows_examined: 263961
use tkzersev_dahz;
SELECT a.id,a.title,a.content,a.begintime,a.info_level,a.hit,a.html_path,a.ifred,a.ifbold,a.userid,a.catid,a.img_path FROM `my_information` AS a WHERE a.info_level > 0 AND a.catid IN (38) ORDER BY a.begintime DESC LIMIT 0,10

# Wed Nov 30 02:32:21 2011
# Query_time: 1.124419 Lock_time: 0.000150 Rows_sent: 15 Rows_examined: 568074
use tkzersev_dahz;
SELECT a.id,a.title,a.userid,a.contact_who,a.content,a.img_path,a.upgrade_type,a.upgrade_time,a.html_path,a.begintime,a.endtime,b.areaname,a.info_level,a.certify,a.ifred,a.ifbold FROM my_information AS a LEFT JOIN `my_area` AS b ON a.areaid = b.areaid WHERE a.info_level > 0 AND a.catid IN (38) ORDER BY upgrade_type DESC,begintime DESC limit 152040, 15

以上查询是开源php程序中的,请高手看看怎么修改一下,来改变查询过慢的局面

作者: btut2004   发布时间: 2011-11-30

ORDER BY a.begintime DESC 改成ORDER BY a.id DESC

作者: rucypli   发布时间: 2011-11-30

explain select 。。贴出来以供分析。

作者: ACMAIN_CHM   发布时间: 2011-11-30

explain SELECT a.id,a.title,a.userid,a.contact_who,a.content,a.img_path,a.upgrade_type,a.upgrade_time,a.html_path,a.begintime,a.endtime,b.areaname,a.info_level,a.certify,a.ifred,a.ifbold FROM my_information AS a LEFT JOIN `my_area` AS b ON a.areaid = b.areaid WHERE a.info_level > 0 AND a.catid IN (38) ORDER BY upgrade_type DESC,begintime DESC limit 152040, 15

输出是

id select_type table type possible_keys key key_len ref rows extra
1 simple a ref info_level,catid catid 4 const 248273 Using where;Using filesort
1 simple b eq_ref PRIMARY PRIMARY 3 tkzersev_dahz.a.areaid 1

作者: btut2004   发布时间: 2011-11-30