日期:2014-05-16  浏览次数:20687 次

MYSQL CPU占用很高,麻烦大家帮我优化下语句
我检查了PHP.INI MY.INI 都对这些进行了优化

最后发现问题出在这句上边,老大帮我看看,如何优化这个SQL语句

from ***_ecms_wendang where checked=1 and (title like '%数学知识%' and id<>102137) order by newstime desc limit 10

哦,对了,ID TITLE我也加索引了

------解决方案--------------------
为啥 id 要用id<>102137这样的条件呢?
用了 <> 后,id 的索引就不能用了,用了前后带 % 的 like 后,索引也不能用了,于是你这个就不能用索引了。

实在要用 <> 这个,那就试试把 id<>102137 换成:
id > 102137 and id < 102137
------解决方案--------------------
具体的看一下explain select * from 表执行计划了。
------解决方案--------------------
title like '%数学知识%' and id<>102137

均用不到索引
------解决方案--------------------
探讨
有没有办法让这2个都用上