数据库索引

面试时遇到面试官问了一个问题让说一下索引的原理,但是作者对索引的了解仅仅是“加索引之后查询快”,一阵懵和尴尬之后回来查询了一下索引相关的知识点,记录一下。
一、为什么要给表加上主键?
更快的查询数据
二、为什么加索引后会使查询变快?
索引的建立使用的是平衡树(b tree)数据结构,查询的时候时间复杂度从O(n)降至O(log)
三、为什么加索引后会使写入、修改、删除变慢?
为了保证索引的正确,修改的是时候会重建索引,重建索引的时候要消耗时间。
四、什么情况下要同时在两个字段上建索引?
索引分为聚集索引和非聚集索引,主键生成的是聚集索引,其他字段生成的是非聚集索引。非聚集索引的工作方式是在非聚集索引的平衡树上查找到数据对应的主键,然后根据主键在聚集索引上查找对应的数据。速度减慢。有一种例外可以不使用聚集索引就能查询出所需要的数据, 这种非主流的方法 称之为「覆盖索引」查询, 也就是平时所说的复合索引或者多字段索引查询。如果某些字段需要查询频率比较高,可以创建一个复合索引进行查询。
引用:
https://www.cnblogs.com/aspwebchh/p/6652855.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值