日期:2014-05-17  浏览次数:20447 次

求助:mySql为什么查询时有时快,有时慢???
是这样的




做了一个采集购物站,在dx_gd_goods里存了2千万条数据,以类别建索引,在where后根类别ID,查询的时候,开始的时候有点慢,后面紧接着的几次查询速度还比较快,但是好景不长,后面又非常慢了,是非常的慢,慢得后面mysql都超时了,都查询不出来数据。

用explan 看信息时,是用了索引的,查询type 为 range

后来想分一区,以类别分区,分区后,开始的前7次8次查询速度还是非常快的,如果在接着查询,问题与上面一样,mysql超时了,都返回不了数据。
用explan 看信息时,是用到了分区的,查询type 为 all

我的mysql版本 5.1;

这种情况不知道我怎么解决啊,我现在是无解了。


------解决方案--------------------
sql语句看看
------解决方案--------------------
t_id有索引不? 引擎是什么。。。
这SQL应该不是很慢。
------解决方案--------------------
感觉像是分区惹的祸,t_id 建立索引后应该不会很慢. 自己可以多测试就知道了。
------解决方案--------------------
explain partitions select * ...把结构发出来看看
------解决方案--------------------
t_id >= 100101000 and t_id<100102000

应该在 t_id 上建立索引
分区的话需要按 t_id 分