数据库索引设计与优化读书笔记--《一》概述

  • 由于当前机器的内存越来越大,我们完全可以假设B树索引的所有非叶子页通常都会留在内存或者读缓存中。通常只有叶子页需要从磁盘驱动器读取。

  • 如果非叶子页不在数据库缓冲池而在磁盘服务器的读缓存中,那么读取索引页可能会花费1ms。而一次磁盘随机读取所花费的时间大约是10ms。

误区一:索引层级不要超过5层。

由于非叶子页通常都会留在内存或者读缓存中,所以通常索引任意一个叶子页的时间为10ms~20ms,这是固定的。所以,对索引层数的限制是没有什么意义的。

误区二:单表的索引树不要超过6个

不应该给索引数目限制上线。

误区三:不应该索引不稳定的列

索引行是按索引键的顺序存储的,所以当索引键中有一列被更新时,DBMS可能不得不把相应的行从旧的索引位置移到心得位置来保证这一顺序。当四层索引的三个层级的非叶子页保留在内存中时,一次磁盘的随机读取需要10ms,响应的时间变成了2*10ms。此外,多列索引的尾列为不稳定的列,更新这个不稳定的列绝不会导致其迁移到新的子页。因此,在当前的磁盘条件下,更新一个不稳定的列只会对该更新操作增加10ms的响应时间。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值