日期:2014-05-19  浏览次数:20588 次

问一个sqlserver2005表分区的问题
有个日志表Log大概是两千多万条数据,为了提高查询性能并根据要求只保留6个月内的数据,将表的Logtime字段进行了划分,共6个区,分别存储每个月的数据,并且也建立了分区索引。
        可是现在发现了一个这样的问题:查询的时候如果只是按Logtime条件来查的话,可以看出与未分区之前是有明显的区别的,但是查询条件往往不只一个,也就是说几个条件一起查的时候,就好像没有什么区别了,甚至比未分区之前还慢呢。
        这是为什么呢?

------解决方案--------------------
关注
------解决方案--------------------
关注中........
------解决方案--------------------
你可以在查询条件中把日期列放在前面试试,应该会好点。
------解决方案--------------------
那是肯定,根据Logtime字段进行分区,查别的字段肯定差些了,2000多万的数据一般条件多的话快不了
------解决方案--------------------
其他条件有没有走索引呢? 如果有的话, 效果应该不会更差, 应该是有一定的改善.

另外, 你的服务器是多CPU, 使用分区表的并行读取优势才能很好的发挥