建立索引时要考虑哪些不利因素 如下哪些情况不建议使用索引


建立索引时要考虑哪些不利因素 如下哪些情况不建议使用索引

文章插图
建立索引时要考虑的不利因素有:


1、创建索引和维护索引要耗费时间 , 这种时间随着数据量的增加而增加;


2、索引需要占物理空间 , 除了数据表占数据空间之外 , 每一个索引还要占一定的物理空间 , 如果要建立聚簇索引 , 那么需要的空间就会更大 , 如果非聚集索引很多 , 一旦聚集索引改变 , 那么所有非聚集索引都会跟着变;


3、当对表中的数据进行增加、删除和修改的时候 , 索引也要动态的维护 , 一旦一个数据改变 , 并且改变的列比较多 , 可能会引起好几个索引跟着改变 , 这样就降低了数据的维护速度 。


4、每个索引都有统计信息 , 索引越多统计信息越多 , 过多索引会导致优化器优化过程需要评估的组合增多 。创建索引的时候 , 应该仔细考虑在哪些列上可以创建索引 , 在哪些列上不能创建索引 。


【建立索引时要考虑哪些不利因素 如下哪些情况不建议使用索引】索引可以分为簇索引和非簇索引 , 簇索引通过重排表中的数据来提高数据的访问速度 , 非簇索引则通过维护表中的数据指针来提高数据的索引 。索引的结构类似于树状结构 , 树的顶部称为叶级 , 树的其它部分称为非叶级 , 树的根部在非叶级中 。同样 , 在聚簇索引中 , 聚簇索引的叶级和非叶级构成了一个树状结构 , 索引的最低级是叶级 。在聚簇索引中 , 表中的数据所在的数据页是叶级 , 在叶级之上的索引页是非叶级 , 索引数据所在的索引页是非叶级 。在聚簇索引中 , 数据值的顺序总是按照升序排列 。应该在表中经常搜索的列或者按照顺序访问的列上创建聚簇索引 。