counter
counter

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)。
无法创建约束。请参阅前面的错误消息。
语句已终止。

解决 :创建唯一的索引,但你的数据不满足情况,有重复的值

 

posted @ 2012-04-06 11:20  bfy  阅读(1401)  评论(0编辑  收藏  举报