高性能MySQL笔记
第7章 分区表
7.1分区表
将数据按照一个较粗的粒度分在不同表 适用于:表太大无法全部放内存、只有部分热点数据其他都是历史数据、对分区单独操作
7.1.1分区表的原理
分区表由多个底层表实现,从存储引擎角度看,它们和普通表没有区别 select:判断是否可以过滤分区再执行 insert:判断由哪个分区接收再执行 delete:判断在哪个分区再执行 update:判断数据在哪个分区,取出更新,判断更新后的数据应放哪个分区再执行
7.1.2分区表的类型
根据范围、时间间隔、键值、哈希分区
7.1.3如何使用分区表
7.1.4什么情况下会出问题
null值使分区过滤失效、插入大量数据导致选择分区成本过高、打开并锁住所有底层表成本过高、重组分区成本过高
7.1.5查询优化
7.1.6合并表
7.12查询缓存
7.12.1MySQL如何判断缓存命中
存放在一个引用表,通过哈希值引用 额外消耗:查询前判断、可缓存且没在缓存中则存入缓存、更新表要设置缓存失效
7.12.2查询缓存如何使用内存
先申请一个大的数据块用于存储结果
高性能MySQL笔记最先出现在Python成神之路。
共有 0 条评论