mysql实战45讲学习笔记--05

谁践踏了优雅 2023-06-24 05:18 65阅读 0赞

mysql实战45讲学习笔记—05

05 深入浅出索引
回表就是回到主键索引树搜索的过程。

覆盖索引
1
由于覆盖索引可以减少树的搜索次数,显著提升查询性能,所以使用覆盖索引是一个常用的性能优化手段。

最左前缀原则
1
B+树这种索引结构,可以利用索引的“最左前缀”来定位记录.(模糊查询那种)
在建立联合索引的时候,安排索引内的字段顺序,第一原则是,如果通过调整顺序,可以少维护一个索引,那么这个索引往往就是需要优先考虑的,然后考虑的原则是空间。

索引下推例子
1
索引下推:like ‘hello%’and age >10 检索,MySQL5.6版本之前,会对匹配的数据进行回表查询。5.6版本后,会先过滤掉age<10的数据,再进行回表查询,减少回表率,提升检索速度

好问题
1
alter table T engine=InnoDB 让我想到了我们线上的一个表, 记录日志用的, 会定期删除过早之前的数据. 最后这个表实际内容的大小才10G, 而他的索引却有30G. 在阿里云控制面板上看,就是占了40G空间. 这可花的是真金白银啊.
后来了解到是 InnoDB 这种引擎导致的,虽然删除了表的部分记录,但是它的索引还在, 并未释放.只能是重新建表才能重建索引.
————————————————

发表评论

表情:
评论列表 (有 0 条评论,65人围观)

还没有评论,来说两句吧...

相关阅读

    相关 mysql45学习笔记

    写个博客记录我的学习过程,我也会相对容易坚持下去,不至于半途而废 强烈建议自己去看这个课,我这里只记录知识点,方便自己回顾和复习,看我这不行的,人家的都有例子和引导,让你理解

    相关 [MySQL实战45]MySQL笔记之优化

    使用长连接数据库内存过大 原因:MySQL 在执行过程中临时使用的内存是管理在连接对象里面的。这些资源会在连接断开的时候才释放。所以如果长连接累积下来,可能导致内存占用太