当前位置:Gxlcms > 数据库问题 > 0926mysql中MRR的用法

0926mysql中MRR的用法

时间:2021-07-01 10:21:17 帮助过:27人阅读

,提高查询效率。

三 相关参数

    我们可以通过参数 optimizer_switch 的标记来控制是否使用MRR,当设置mrr=on时,表示启用MRR优化。mrr_cost_based 表示是否通过 cost base的方式来启用MRR.如果选择mrr=on,mrr_cost_based=off,则表示总是开启MRR优化。
    参数read_rnd_buffer_size 用来控制键值缓冲区的大小。
    
四  案例介绍
当开启MRR时

  1. MySQL > explain select * from tbl where tbl.key1 between 1000 and 2000;
  2. +----+-------------+-------+-------+---------------+------+---------+------+------+-------------------------------------------+
  3. | id | select_type | table | type  | possible_keys | key  | key_len | ref  | rows | Extra                                     |
  4. +----+-------------+-------+-------+---------------+------+---------+------+------+-------------------------------------------+
  5. | 1  | SIMPLE      | tbl   | range | key1          | key1 | 5       | NULL | 960  | Using index condition; Using MRR          |
  6. +----+-------------+-------+-------+---------------+------+---------+------+------+-------------------------------------------+
  7. 1 row in set (0.03 sec)
五 MRR的使用限
   MRR 适用于以下两种情况。
   1 range access
   2 ref and eq_ref access, when they are using Batched Key Access

六  参考文章 
 《MariaDB Multi-Range Read Optimization》
 《MySQL Multi-Range Read Optimization》
 《Multi Range Read (MRR) in MySQL 5.6 and MariaDB 5.5》 

0926mysql中MRR的用法

标签:optimizer   mysq   不同   div   排序   优化   结果   cost   when   

人气教程排行