读书人

sql求优化(执行时间要30秒太久了)

发布时间: 2012-05-24 11:55:41 作者: rapoo

sql求优化(执行时间要30秒,太久了)


A表如下,还有自动增长的字段及其他不重要的字段。表约有两千五百万条记录。

sid | op | code
3 | 1 | -199
1 | 2 | 0
11 | 1 | 1
3 | 2 | 0

我想查询出code为0,op为1的sid的个数,我写的sql语句如下:

select sid,count(*) as num from A where code=0 and op=1 group by sid order by num desc limit 10;

这个执行时间要30秒。。时间太长了,求优化




[解决办法]
表索引情况如何、code、op有多少种值
[解决办法]
create index xxx on A表(code,op,sid)
[解决办法]
没什么影响,看一下你的CPU利用率。
[解决办法]

探讨

不能改表结构

执行30秒会对数据库和机器有很大影响么?

读书人网 >Mysql

热点推荐