索引的概念及其优缺点

索引的概念及其优缺点概念数据库中索引(index)的概念与目录的概念十分类似。如果某列出现在查询的条件(where)中,而该列的数据是无序的,那么查询时只能从第一行开始一行一行地匹配。创建索引就是对某些特定列中的数据排序,生成独立的索引表。当在某列上创建索引后,如果该列出现在查询条件中,那么数据库系统会自动地引用该索引。先从索引表中查询出符合条件记录的ROWID,由于ROWID是记录的物理地址,因此可以根据ROWID快速地定位到具体的记录。当表中的数据非常多时,引用索引带来的查询效率非常可观。在处理一个请求时,数据库可

大家好,欢迎来到IT知识分享网。索引的概念及其优缺点

概念

数据库中索引(index)的概念与目录的概念十分类似。如果某列出现在查询的条件(where)中,而该列的数据是无序的,那么查询时只能从第一行开始一行一行地匹配。创建索引就是对某些特定列中的数据排序,生成独立的索引表。当在某列上创建索引后,如果该列出现在查询条件中,那么数据库系统会自动地引用该索引。先从索引表中查询出符合条件记录的ROWID,由于ROWID是记录的物理地址,因此可以根据ROWID快速地定位到具体的记录。当表中的数据非常多时,引用索引带来的查询效率非常可观。

在处理一个请求时,数据库可以使用可用索引有效地找到请求的行。当应用程序经常查询某一特定行或特定范围的行时,索引很有用。索引在逻辑上和物理上都独立于数据。因此,删除和创建索引对表或其他索引没有任何影响。在删除索引后,所有应用程序仍然可以继续运行。

优缺点

优点

  1. 大大加快数据的检索速度,这也是创建索引的主要原因。

  2. 可以加速表和表之间的连接。

  3. 索引在实现数据的参照完整性方面特别有意义,例如,在外键列上创建索引可以有效地避免死锁的发生,也可以防止当更新父表主键时,数据库对字表的全表锁定。

  4. 可以有效地减少磁盘I/O。

  5. 当使用分组GROUP BY和排序 ORDER BY字句进行数据检索时,可以显著减少查询中分组和排序的时间,大大加快数据的检索速度。

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

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

缺点

  1. 索引必须创建在表上,不能创建在视图上。

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

  3. 建立索引需要占用屋里空间,如果要简历聚簇索引,那么需要的空间会很大。

  4. 当对表中的数据进行增加、删除和更新的时候,系统必须要有额外的时间来同时对索引进行更新维护,以维持数据和索引的一致性,所以,索引降低了数据的维护速度。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21717.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信