数据库选择题笔记

  1. 索引:关系数据库中对某一列或多个列的值进行预排序的数据结构
  2. 唯一索引:在设计关系数据表的时候,看上去唯一的列,例如身份证号、邮箱地址等,因为他们具有业务含义,因此不宜作为主键。 但是,这些列根据业务要求,又具有唯一性约束:即不能出现两条记录存储了同一个身份证号。这个时候,就可以给该列添加一个唯一索引。
  3. 索引的效率取决于索引列的值是否散列,即该列的值如果越互不相同,那么索引效率越高。反过来,如果记录的列存在大量相同的值,对该列创建索引就没有意义。
  4. 如果给表上了主键,那么表在磁盘上的存储结构就由整齐排列的结构转变成了树状结构,整个表就变成了一个索引。也就是所谓的「聚集索引」。
  5. 只有当表包含聚集索引时,表中的数据行才按排序顺序存储。 如果表具有聚集索引,则该表称为聚集表。 如果表没有聚集索引,则其数据行存储在一个称为堆的无序结构中。
  6. 索引能让数据库查询数据的速度上升, 而使写入数据的速度下降。因为在每次数据改变时, DBMS必须去重新梳理树(索引)的结构以确保它的正确,这会带来不小的性能开销,也就是为什么索引会给查询以外的操作带来副作用的原因。
  7. 通过聚集索引(主键)可以查到需要查找的数据, 而通过非聚集索引(常规索引)可以查到记录对应的主键值 , 再使用主键的值通过聚集索引查找到需要的数据。不管以任何方式查询表, 最终都会利用主键通过聚集索引来定位到数据, 聚集索引(主键)是通往真实数据所在的唯一路径。
  8. 覆盖索引:搜索条件列与结果列在同一个索引中,无需再查找真实数据。

参考:

  1. 廖雪峰 链接:索引 - 廖雪峰的官方网站
  2. 知乎-陈大侠 链接:深入浅出数据库索引原理 - 知乎
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值