索引的作用及优缺点

索引的作用:创建索引能够大大的提高系统的性能

优点:

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

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

  ③加快表与表之间的连接,在实现数据的参考完整性方面特别有意义

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

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

缺点:

  ①创建索引和维护索引需要时间,这种时间随着数据量的增加而增加

  ②索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占物理空间,如果要建立聚簇索引,需要的空间更大

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

索引是创建在数据库的表中的列上。因此,在创建索引的时候,要考虑哪些列上适合加索引,那些列上不适合加索引。

原文地址:https://www.cnblogs.com/daisyyang/p/10907817.html

时间: 2024-10-13 00:35:12

索引的作用及优缺点的相关文章

转:数据库索引的作用和优点缺点

为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能. 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性. 第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因. 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义. 第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间. 第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能. 也许会有人要问:增加索引有如此多的优点,为什么不对表中的每一个列

索引的作用

索引的作用就在于,为某个字段建立了索引之后,查询这个字段里面的数据的时候,效率更高,也就是快,比如create index abc on stu(age);为stu表的age字段建立了索引,那么查询时,select * from stu where age > 10;这个时候效率就高,主要体现在where语句,where age > 10 ,将age 作为查询的条件,age又加了索引所以高. 索引使数据库程序无需对整个表进行扫描,就可以在其中找到所需数据,也就是当进行查询时,系统先搜索索引,从

数据库调优教程(五) 索引的作用和索引的种类

三.           索引 上一章我们学习了使用explain来生成一个查询执行计划(QEP),从而发现语句存在的问题.在explain返回的结果中,有三个是和索引有关的(possible key.key.extra),可见索引在改善查询效率上的显著地位. 这一章,我们将全方位讲解如何使用索引来优化我们的数据库. 1.      索引的作用 索引的原理是利用特殊的查找算法(如二叉树算法),限制访问的行数,提高访问效率. 另外,索引还可以高效地在表之间建立连接操作,高效的对结果进行排序等等 2

索引的分类,优缺点,使用

索引的分类 主键索引:某一个属性组能唯一标识一条记录,主键索引只能有一个 唯一索引:避免同一个表中某数据列中的值重复,唯一索引可有多个 常规索引:快速定位特定数据,应加在查询条件的字段,不易添加太多常规索引,影响数据的插入,删除和修改操作 复合索引:指多个字段上创建的索引,只有复合索引的第一个字段出现在查询条件中,该索引才可能被使用,因此将应用频度高的字段,放置在复合索引的前面,会使系统最大可能地使用此索引,发挥索引的作用 关于聚集索引和非聚集索引:https://blog.csdn.net/y

数据库索引的作用

偶然在一个公众号上看到一篇对数据库索引的作用进行了通俗易懂的说明,为此特意借鉴过,留作备忘参考. 问题1. 数据库为什么要设计索引? 图书馆存了1000W本图书,要从中找到<架构师之路>,一本本查,要查到什么时候去? 于是,图书管理员设计了一套规则: (1)一楼放历史类,二楼放文学类,三楼放IT类… (2)IT类,又分软件类,硬件类… (3)软件类,又按照书名音序排序… 以便快速找到一本书. 与之类比,数据库存储了1000W条数据,要从中找到name=”shenjian”的记录,一条条查,要查

SQL索引是什么?索引的作用是什么?索引的优点是什么?索引的缺点是什么?索引的分类?什么情况下该创建索引?

1.SQL索引是什么?定义:索引(Index)是帮助MySQL高效获取数据的数据结构,就好比书的目录,加快数据库的查询速度. 2.SQL索引的作用是什么?优点是什么?提高查询效率消除数据分组.排序避免“回表”查询(索引覆盖)优化聚合查询用于多表JOIN关联查询利用唯一性约束,保证数据唯一性InnDB行锁实现 3.使用索引的优点(1)可以通过建立唯一索引或者主键索引,保证数据库表中每一行数据的唯一性.(2)建立索引可以大大提高检索的数据,以及减少表的检索行数(3)在表连接的连接条件 可以加速表与表

Oracle B-tree、位图、全文索引三大索引性能比较及优缺点汇总

引言:大家都知道“效率”是数据库中非常重要的一个指标,如何提高效率大家可能都会想起索引,但索引又这么多种,什么场合应该使用什么索引呢?哪种索引可以提高我们的效率,哪种索引可以让我们的效率大大降低(有时还不如全表扫描性能好)下面要讲的“索引”如何成为我们的利器而不是灾难!多说一点,由于不同索引的存储结构不同,所以应用在不同组织结构的数据上,本篇文章重点就是:理解不同的技术都适合在什么地方应用! B-Tree索引场合:非常适合数据重复度低的字段 例如 身份证号码  手机号码  QQ号等字段,常用于主

mysql索引的类型和优缺点

现在来介绍了数据库索引,及其优.缺点.针对MySQL索引的特点.应用进行了详细的描 述.分析了如何避免MySQL无法使用,如何使用EXPLAIN分析查询语句,如何优化MySQL索引的应用.本文摘自<MySQL 5权威指南>(3rd)的8.9节. 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针. 注:[1]索引不是万能的!索引可以加快数据检索操作,但会使数据修改操作变慢.每修改数据记录,索引就必须刷新一次.为了在某种程序上弥补这一

(转)mysql索引的类型和优缺点

现在来介绍了数据库索引,及其优.缺点.针对MySQL索引的特点.应用进行了详细的描 述.分析了如何避免MySQL无法使用,如何使用EXPLAIN分析查询语句,如何优化MySQL索引的应用.本文摘自<MySQL 5权威指南>(3rd)的8.9节. 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针.注: [1]索引不是万能的!索引可以加快数据检索操作,但会使数据修改操作变慢.每修改数据记录,索引就必须刷新一次.为了在某种程序上弥补这一