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

分区表查询问题
表中有4000W条记录, 按照月month 和日day建的分区 。现在有一个查询条件 calldate 格式为 年月日时分秒 ‘20100917102512’,

请问查询时where条件加上calldate 会走分区吗?

------解决方案--------------------
不会

你的分区字段是哪个?

如果是month分区 day 子分区的话
加上 month = 201009 and day=20100917
------解决方案--------------------
关注+收藏。
------解决方案--------------------
应该是索引问题吧,表中service_module的范围是多少?service_id范围是多少?

可以用执行计划看下。
------解决方案--------------------
把month= and day= 加上,为了走分区.
------解决方案--------------------
可以看看查询计划

如果条件中没有用到分区字段,就不会按分区查询
------解决方案--------------------
顶一下吧
------解决方案--------------------
把你的sql语句写出来,有可能是sql语句没写好
------解决方案--------------------
如果条件中没有包含分区列,查询计划不会走分区表

------解决方案--------------------
sql语句的查询条件加上month和day,再加calldate
where month='2010' and day='20100917' and calldate='20100917102512'
这样是为了走分区
要么你就对calldate加个索引,让查询走索引试试。