Welcome 微信登录

首页 / 数据库 / MySQL / MySQL5.6 支持Multi-Range Read索引优化

对于大表(基于辅助索引)做范围扫描时,会导致许多随机IO,普通磁盘的瓶颈在于随机IO性能上很差,在MySQL5.6里,对这种情况进行了优化,一个新的名词Multi-Range Read出现了,它的作用减少随机IO,并且将随机IO转化为顺序IO。
  1. mysql> desc t_06;
  2. +-------+-------------+------+-----+---------+-------+
  3. | Field | Type | Null | Key | Default | Extra |
  4. +-------+-------------+------+-----+---------+-------+
  5. | id | int(11) | NO | PRI | NULL | |
  6. | c1 | varchar(30) | YES | | NULL | |
  7. | i2 | int(11) | YES | MUL | NULL | |
  8. +-------+-------------+------+-----+---------+-------+
当未开启MBR时,EXPLAIN看到的是这样,当开启后,EXPLAIN看到的是这样,MySQL5.6是默认开启的这是官方给的一个例子,在未开启MRR时,先过滤出key_part1在1000和2000之间的数据,然后在结果中再过滤出key_part2等于10000的行。在开启MRR时,在找出1000的同时再找出10000,查询条件拆分为{1000,10000},{1001,10000}……{1999,10000}。如果有大表,可以试试它们之间的性能。参考手册:MySQL主从同步部署MySQL如何开启远程访问权限相关资讯      MySQL优化  MySQL索引 
  • MySQL中索引和优化的用法总结  (今 14:24)
  • MySQL优化技术  (04月09日)
  • 关于skip_name_resolve参数的总结  (03月26日)
  • MySQL优化 - 开启MySQL慢查询日志  (05月12日)
  • MySQL explain执行计划优化  (04月09日)
  • MySQL数据库的优化  (03月05日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数


评论声明
    版权所有©石家庄振强科技有限公司2024 冀ICP备08103738号-5 网站地图