美文网首页
索引优点和缺点

索引优点和缺点

作者: DOB_8199 | 来源:发表于2021-03-28 23:31 被阅读0次

概念

MySQL 官方对索引的定义为:索引(Index)是帮助 MySQL 高效获取数据的数据结构。可以得到索引的本质:

索引是数据结构。可以简单理解为排好序的快速查找数据结构。

在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,

这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。下图就是一种可能的索引方式示例:

左边是数据表,一共有两列七条记录,最左边的是数据记录的物理地址。为了加快 Col2 的查找,可以维护一个右边所示的二叉查找树,每个节点分别包含索引键值和一个指向对应数据记录物理地址的指 针,这样就可以运用二叉查找在一定的复杂度内获取到相应数据,从而快速的检索出符合条件的记录。

一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储的磁盘上。



优缺点

优势:

  提高数据检索的效率,降低数据库的IO成本。

  通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。

劣势:

  虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件每次更新添加了索引列的字段,都会调整因为更新所带来的键值变化后的索引信息。

  实际上索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录,所以索引列也是要占用空间的。

相关文章

  • 索引优点和缺点

    概念 MySQL 官方对索引的定义为:索引(Index)是帮助 MySQL 高效获取数据的数据结构。可以得到索引的...

  • 002--MySQL索引的面试题总结

    什么是索引? 索引是一种能帮助 MySQL 提高查询效率的数据结构。 索引分别有哪些优点和缺点? 索引的优点如下:...

  • 数据库索引

    索引原理 索引的优缺点 优点 缺点 注: 索引的存储类型 B-Tree索引 索引查询的条件 排序

  • 面试题

    1.索引是什么?2.索引优点和索引缺点?3.drop,delete,truncate 的区别4.主键 外键的区别5...

  • 器-说明:rails中数据库效能提升—索引的添加与删除

    一、索引对数据库性能的影响 1.索引的优缺点优点:索引可以改善数据库检索(查询)的性能缺点:创建索引会额外占用数据...

  • 数据库索引数据结构

    什么是索引 索引是一个有序的数据结构 优缺点 优点: 可以快速检索,减少I/O次数,加快检索速度; 根据索引分组和...

  • MySQL索引总结

    索引原理 索引的优缺点 优点索引大大减小了服务器需要扫描的数据量索引可以帮助服务器避免排序和临时表索引可以将随机I...

  • 浅谈索引的优缺点和建立索引的原则

    索引的优点索引的缺点建索引的几大原则 索引的优点 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 可以...

  • MySQL数据库索引【index】

    1. 索引引入 1.1 索引的优点 查询速度块。 1.2 索引的缺点 增、删、改(数据操作语句)效率降低了。 做一...

  • 索引

    一、索引优缺点 索引是一个排好序的查找数据结构 优点加快查找,降低io降低排序成本,降低cpu功耗 缺点占空间降低...

网友评论

      本文标题:索引优点和缺点

      本文链接:https://www.haomeiwen.com/subject/ocesqltx.html