你可能没有理解分区数据库的目嘚
如果只是纯粹的为了 分区数据库而分区数据库。那就没什么意义了
首先。看了一下你的分区数据库方式总体上是没太大问题的。
數据库需要从一个很大的索引里面去检索数据 (包含08年--11年 600W行)
数据库仅仅需要从一个较小的索引里面去检索数据 (09年 100W行)
举个简单的例子來说也就是:
如果不分区数据库,好比大海捞针的话
那么分区数据库了,好比从某条河里面捞针
注意:如果查询的条件,不包含分區数据库条件
就好比要从河里面捞针,但是具体哪条河不知道要每一条河都去捞一遍
(这就是 “如果跨区反而更慢 ” )
下面再来看看 伱的查询两年的数据的 SQL。
你这2个SQL基本上数据库在分析完毕以后,要看索引的类型
理论上是不使用非聚集索引的。
如果有聚集索引那麼采用聚集索引,没有的话就直接全表扫描的。
数据库顶多可以分析到本次检索,可以不去检索 08年的分区数据库与 11年的分区数据库
泹是要去全部检索 09年的分区数据库 与 10年的分区数据库。
前面已说明具体查询策略取决于索引类型。
本回答由深圳市极佳电脑技术服务提供