SQL2008R2为表创建分区(海量数据查询)
1.记录有点大 1700万条数据 ,查询只建索引(非聚集)在页面上显示5秒左右,查询某年某月某机构输入的搜索排在前100的关键字,然后想建立分区。
结合存储过程,泛型,索引,分区。
2.由于本人菜鸟级别,直接可视化:
右击需要分区的表,点击“存储”,即可看到“创建分区”:
2.选择按照哪一列进行分区,我选的是时间列
3。起个名字
4.再起个名字
5.选择时间段,以及按照什么方式分割这个时间段
6.结束。
7.后续:经测试,只建立分区需要16秒,比只建立索引慢了11秒,然后我两个都建立,变成了26秒。。。。 无语。 可能是建立的分区不合理。
继续弄。。
8.经过尝试:只创建一个对分区方式字段的不是唯一的聚集索引,1秒。。。。可能还不到。。 继续尝试。。
9.然后又建立几个在查询中用到的唯一的非聚集索引
发现结果并没有实质性的提高速度,感觉索引不是越多越好。
PS:出现建索引时的情况:
无法创建索引“PK_yq_menu”。
CREATE UNIQUE INDEX 终止,因为发现对象名称 'dbo.yq_menu' 和索引名称 'PK_yq_menu' 有重复的键。重复的键值为 (1)。
无法创建约束。请参阅前面的错误消息。
语句已终止。
解决 :创建唯一的索引,但你的数据不满足情况,有重复的值