mysql using mrr_MySQL 的 MRR 到底是什么?

MRR(Multi-Range Read Optimization)是MySQL的一种查询优化技术,通过将随机磁盘读取转换为顺序读取,提高索引查询性能。文章详细解释了为何要将随机读变为顺序读,以及如何实现这一转换,并讨论了顺序读的优势,包括减少磁盘IO、利用磁盘预读和缓存效率。同时,介绍了与MRR相关的配置选项,如mrr、mrr_cost_based和read_rnd_buffer_size,强调了MRR作为对索引查询的进一步优化。
摘要由CSDN通过智能技术生成

172391c2c9678b6011412c89d053e85c.png

MRR,全称「Multi-Range Read Optimization」。

简单说:MRR 通过把「随机磁盘读」,转化为「顺序磁盘读」,从而提高了索引查询的性能。

至于:

为什么要把随机读转化为顺序读?

怎么转化的?

为什么顺序读就能提升读取性能?

咱们开始吧。

磁盘:苦逼的底层劳动人民

执行一个范围查询:

mysql > explainselect*fromstuwhereagebetween10and20;

+----+-------------+-------+-------+------+---------+------+------+-----------------------+

| id | select_type | table| type  |key| key_len | ref  |rows| Extra                 |

+----+-------------+-------+-------+----------------+------+------+-----------------------+

|  1 | SIMPLE      |  stu  | range | age  | 5       | NULL|  960 | Usingindexcondit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值