美文网首页MySQL相关
数据库中的索引

数据库中的索引

作者: 柳蒿 | 来源:发表于2019-10-18 08:36 被阅读0次

SQL数据库的两种引擎:
MyISAM:
查询速度较快,适合读较多的场景。
不支持事务,也不支持崩溃后的数据恢复。
锁的粒度较大,只有表锁。
不支持外键

InnoDB:
查询的速度稍慢,适合写较多的场景。
支持事务,支持崩溃后的数据恢复,
支持行锁。
支持外键。

索引的分类:主键索引,基本索引,唯一索引,复合索引

索引的好处:

  • 加快查询的速度
  • 保证每一行数据的唯一性
  • 把随机IO变成顺序IO
  • 帮助服务器避免排序和临时表

索引能加快查询的原因:把无序的数据变成相对有序。

索引的坏处:

  • 索引需要占用物理空间,如果是聚簇索引占用的空间更多
  • 每次变更表数据的时候,索引都需要进行动态更新,数据维护时间长
  • 创建,维护索引都需要大量的时间,开销大。

索引的数据结构种类:

  • 哈希表:使用哈希表作为索引,适合查询绝大多数查询需求为单条记录的情况
  • BTree:采用B+树作为索引数据结构,对于不同的数据库有不同的实现。
    MyISAM数据库中:树的data域存储的是记录的地址,按照B+树搜索算法找到目标key值,然后取出对应的data域的地址,找到对应的记录。
    InnoDB数据库中:数据表本身就是索引,这种索引也叫做聚簇索引。表的主键是key值,其余的索引是辅助索引,在通过辅助索引查找时,需要取出目标的主键,在主键索引中再查询一遍,因此主键的字段不宜过长,也要避免使用非单调字段。

相关文章

  • SQL语句总结----索引(持续更新)

    索引 数据库中的索引与书籍中的索引类似,在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引...

  • 索引,序列,视图

    1、数据库索引索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果...

  • 03_mongoDB索引

    索引 索引就是用来加速查询的。数据库索引与书籍的索引类似:有了索引就不需要翻遍整本书,数据库则可以直接在索引中查找...

  • 2021-08-09 MySQL索引原理

    ,索引概念 数据库索引,是数据库管理系统中的一个排序的数据结构,用于协助快速查询、修改数据。 索引分类 正常索引、...

  • 索引

    索引: 索引是一种特殊的数据库结构,可以用来快速查询数据库表中的特定记录。索引是提高数据库性能的重要方式。MySQ...

  • 数据库索引小记

    索引的实现方式数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常...

  • Java常见面试题汇总-----------数据库(数据库索引及

    54、数据库索引 索引的优缺点   优点:  1、大大加快数据的检索速度;  2、创建唯一性索引,保证数据库表中每...

  • mysql面试题

    索引是什么索引是对数据库中一或多个列值的排序,帮助数据库高效获取数据的数据结构假如我们用类比的方法,数据库中的索引...

  • 聚集索引与辅助索引

    数据库中的B+树索引可以分为聚集索引 (clustered index) 和辅助索引 (secondary ind...

  • 数据库索引介绍和使用

    一、索引的概念 索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个...

网友评论

    本文标题:数据库中的索引

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