阅读innodb索引相关文档

This commit is contained in:
asahi
2025-02-15 16:35:31 +08:00
parent ed5f2297cf
commit e9000354db

View File

@@ -23,6 +23,8 @@
- [辅助索引不能覆盖](#辅助索引不能覆盖)
- [索引提示](#索引提示)
- [Use index](#use-index)
- [Multi-Range Read](#multi-range-read)
- [multi-range read优势](#multi-range-read优势)
# innodb索引与算法
@@ -305,5 +307,15 @@ explain select * from t_demo use index (idx_a) where a=1 and b = 2;
> 在使用`use index`语法之后,仍然有可能出现优化器没有使用该索引的情况,此时可以使用`force index`语法,来强制指定使用的索引。
## Multi-Range Read
mysql支持Multi-Range Read优化用于减少随机的磁盘访问将随机访问转化为较为顺序的数据访问。对于io-bound的sql查询其能带来性能的较大提升。
mutli-range read优化适用于`range, ref, eq_ref`类型的查询。
### multi-range read优势
- MBR能够令数据访问变得较为顺序在查询辅助索引时对于得到的查询结果按照主键进行排序并按照主键排序的顺序进行书签查找
- 减少缓冲池中页被替换的次数
- 批量处理对于key的查询操作