关于sql server分区索引的问题
sql server分区表介绍的文章很多,可是关于分区索引总感觉还有些细节不太清楚,最近工作中遇到了些问题,想跟大家共同讨论一下。
1.怎么样建立分区索引。现在我有一张大表,是个分区表,按天建立了分区,表上的时间列begintime是分区依据列。我在这个表上建了多个非聚集非唯一索引,是不是在分区表上建的索引(不需要显示的制定分区架构)就一定是分区索引呢?
2.分区表上什么样的索引才是索引对齐?是不是分区表上建的索引,就与分区表索引对齐了呢?还是索引包含了分区依据列,才叫索引对齐呢?
3.分区索引在分区表上是怎么维护的呢?因为我这张大表数据量很大,而且入库很频繁,基本都是插入操作,插入都是按照时间顺序插入的。同时还是有可能查询该表的,所以表上的几个索引不能删除。但当入库量大的时候,维护索引的开销也很大,造成入库效率低,数据有积压。
该表只保存一个月的数据,特别是到月底,入库就更慢,所以我在想我在分区表上的非聚集非唯一索引(不包含分区依据列)是不是就是分区索引呢,而且是不是就索引对齐了呢?
以我的感觉如果是分区索引或者说跟分区对齐的分区索引,当插入新数据时只应该维护一个分区上的索引,所以应该效率不会太低,毕竟一个分区上数据不那么大。但如果插入数据时,是维护整个表数据的索引,那一定会很慢,效率不高的。
我想是不是分区对齐的分区索引,维护索引时是维护一个分区上的数据呢?
在线等……