数据库的索引是什么?

  1. 索引就是类似书本的目录一样,拿字典来说,索引存储的记录地址相当于字典的页数,索引存储的键值相等于字典的某个字。我们可以在目录里面快速地浏览,找到某个关键字,我们在翻到具体的页数看字的解释。
  2. 举例:我们设置主键id为索引,那么索引树就存了键值为这个ID,且存有这个ID的地址,当想要查找某个ID时,只需要查找这个索引树,找到后,再通过地址去找到某一个行的记录。
  3. 为什么要用索引?说白了,就是为了增加查找的效率。
  4. 索引也是用一张表来维护的,而且对于增加和更新和删除操作,都会使得索引树重新整理,因此不是索引越多索引越好,要在合适的场景使用,比如在一个读数据比较多的项目,就可以加索引。
  5. 索引为什么能够提高查找的效率?因为索引采用了B树的结构,时间复杂度比较小,为logN.
  6. 索引的优势和劣势
    1. 优势
      • 提高检索的效率,减少数据库的IO次数,因为数据库的数据是保存在磁盘上的。
      • 因为B树的原因,索引的字段是有顺序的,减少了排序的成本,减少了CPU的消耗
    2. 劣势
      • 索引也是一张表,也是需要存储空间的
      • 降低了更新表的的速度,比如插入,更新,删除时,都会调整索引信息。
  7. 索引是存储引擎实现的,所以不同的存储引擎,支持的索引不一定相同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值