求教,MySql5.1 按时间范围查询不走分区

iamxi 发布于 2014/11/05 16:38
阅读 976
收藏 0

MYSQL版本5.1.73,表数据大概近亿,按时间分区,一个月一个分区。如果查询条件是where create_time= xxx,是走分区的。但是如果是where create_time <= xxx and create_time > xxx,这种范围查询,在执行计划中看到是全表扫。

同样的SQL语句在5.6版本上却很正常,求解。是MYSQL版本问题吗。

加载中
0
大连馋师
大连馋师

原因不详;

建议自己写程序调整查询范围,create_time <= xxx and create_time > xxx,你可以把xxx细分一下,然后把一个SQL拆分成多个SQL分别到不同的分区进行查询!不用一个SQL跨区查询。

0
iamxi
iamxi

引用来自“大刕”的评论

原因不详;

建议自己写程序调整查询范围,create_time <= xxx and create_time > xxx,你可以把xxx细分一下,然后把一个SQL拆分成多个SQL分别到不同的分区进行查询!不用一个SQL跨区查询。

create_time <= xxx and create_time > xxx 查询时候并没有跨区,就范围只有一天,也不走索引
0
Tuesday
Tuesday

MySql5.1 跟 5.6 ?

是不是太逗了.. 肯定有差异.

0
icey_xue
icey_xue
我也遇到这个问题,请问楼主后来怎么解决的么?
yeti_38
yeti_38
回复 @iamxi : 换成5.6还是一样
iamxi
iamxi
和项目经理反应了问题,都认为是MYSQL版本问题。所以决定重新配置一台MYSQL5.6的数据库服务器。
0
l
lxbjkben
可以参考这个: http://lixuanbin.iteye.com/blog/2310060
返回顶部
顶部