首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

sql求优化(执行时间要30秒,太久了),该如何解决

2012-05-24 
sql求优化(执行时间要30秒,太久了)A表如下,还有自动增长的字段及其他不重要的字段。表约有两千五百万条记录

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秒会对数据库和机器有很大影响么?

热点排行