索引的作用及优缺点

索引的作用及优缺点 建索引的优点和缺点是什么?

建索引的优点和缺点是什么?

建索引的优点和缺点是什么?

建索引优点:能够 增加 某些 查询的效率. ( 具体 增加哪些, 取决于 索引包含的列, 以及 查询的 where 语句, 以及 数据分布等信息)缺点:增加 INSERT / DELETE 以及 部分 UPDATE 语句的 处理时间因为 增加了索引以后, 这些操作, 在更新表的数据以后, 还要额外再更新 索引的数据。

数据库创建索引有什么优点和缺点?

创建索引可以大大提高系统的性能。

第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。

第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。

第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。

第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

也许会有人要问:增加索引有如此多的优点,为什么不对表中的每一个列创建一个索引呢?这种想法固然有其合理性,然而也有其片面性。虽然,索引有许多优点, 但是,为表中的每一个列都增加索引,是非常不明智的。这是因为,增加索引也有许多不利的一个方面。

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

第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。

第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

数据库的索引有什么用?

使用数据库索引,可以减少数据的访问,从而提成查询的效率(但是索引会增加插入、修改和删除的效率),索引使用的好,可以让性能提升,如果使用不好,反而会降低性能。

索引的类型

B-TREE索引、位图索引、全文索引等,最常用的就是B-TREE索引,而且包括很多扩展索引,比如组合索引,函数索引,反向索引等。

什么是B-TREE索引

也称为平衡树索引(Balance Tree),它是一种按字段排好序的树形目录结构。

一个普通的BTREE索引结构示意图如下所示:

如果我们把一个表的内容认为是一本字典,那索引就相当于字典的目录。一个字典按部首 笔划数的目录,相当于给字典建了一个按部首 笔划的组合索引。

索引失效

【索引失效】这点非常非常的重要,不是说你加上索引了,就永远会有效,错误的SQL书写会导致索引失效。

不等于操作:? 、not in('')

进行了运算后的字段:column 1(简单的运算),function(column)(函数)

含前导模糊查询:like '\%xxx'

IS NULL

隐式类型转换:column是char类型,但是写成column = 123(右边是另外一种类型)