---

作者微信:gp_22389860

---

btr_estimate_n_rows_in_range_low 函数用于非唯一访问的行数评估也就是在执行计划生成阶段会去访问实际的数据,尽可能的得到正确的执行计划,这个过程叫做dive。其和参数eq_range_index_dive_limit有关,如果参数设置1那么将禁用dive功能,使用统计数据进行执行计划的生成。但某些时候MySQL 5.7根据统计数据并不能得到正确的执行计划,因此才有了dive,但是dive会产生额外的代价,这个过程是需要实际访问数据块的。

常用的比如非唯一索引的数据访问,还有> set eq_range_index_dive_limit=100;

Query OK, 0 rows affected (0.00 sec)

mysql> desc select * from testdvi3 where sex='M';

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

| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |

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

| 1 | SIMPLE | testdvi3 | NULL | ALL | sex | NULL | NULL | NULL | 30 | 96.67 | Using where |

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

1 row in set, 1 warning (2.74 sec)

mysql> desc select * from testdvi3 where sex='W';

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

| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |

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

| 1 | SIMPLE | testdvi3 | NULL | ref | sex | sex | 9 | const | 1 | 100.00 | NULL |

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

1 row in set, 1 warning (2.00 sec)

mysql> set eq_range_index_dive_limit=1;

Query OK, 0 rows affected (0.00 sec)

mysql> desc select * from testdvi3 where sex='W';

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

| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |

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

| 1 | SIMPLE | testdvi3 | NULL | ref | sex | sex | 9 | const | 15 | 100.00 | NULL |

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

1 row in set, 1 warning (0.00 sec)

mysql> desc select * from testdvi3 where sex='M';

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

| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |

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

| 1 | SIMPLE | testdvi3 | NULL | ref | sex | sex | 9 | const | 15 | 100.00 | NULL |

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

```

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7728585/viewspace-2707569/,如需转载,请注明出处,否则将追究法律责任。

mysql列偏移_MySQL:如何对待分布偏移的数据相关推荐

  1. mysql 列合并_mysql 列转行,合并字段的方法(必看)

    数据表: 列转行:利用max(case when then) max---聚合函数 取最大值 (case course when '语文' then score else 0 end) ---判断 a ...

  2. mysql高效率写法_mysql高效率随机获取n条数据写法

    今天做项目遇到这个问题,本来想用mysql自带的随机函数来实现,但是想到这样做功能是实现了,但是效率真的好差!一下子想不到好的方法,就去网上找了一下,记录下来,好好研究学习一下. ID连续的情况下(注 ...

  3. mysql update返回_MySQL中,当update修改数据与原数据相同时会再次执行吗?

    本文同步Java知音社区,专注于Java 作者:powdbahttps://yq.aliyun.com/articles/694162 一.背景 本文主要测试MySQL执行update语句时,针对与原 ...

  4. mysql列别_MySQL基础及CRUD

    大纲 1. 数据库的基本概念 2. MySQL数据库软件 1. 安装 2. 卸载 3. 配置 3. SQL 1) DDL(Data Definition Language)数据定义语言 2) DML( ...

  5. mysql列增减_Mysql基本操作——增减改查

    1 创建数据库:两种方法: create database my_db; createdatabase if not exists my_db; 2 删除数据库:两种方法: drop database ...

  6. mysql 列转置_MySQL行列转置方法

    数据样本: create table tx( id int primary key, c1 char(2), c2 char(2), c3 int ); insert into tx values ( ...

  7. mysql 列显示出来_MySQL 显示列

    MySQL 显示列 表中的列是一系列可以存储文本,数字和图像的单元格.每一列为表中的每一行存储一个值.当我们使用MySQL服务器时,通常会显示特定表中的列信息.在本节中,我们将讨论如何在现有表中显示或 ...

  8. mysql列目录_mysql列直接存储图片路径

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  9. mysql 列连接_mysql – 将一个表中的多个列连接到另一个...

    我正在尝试学习如何将一个表中的多个列连接到另一个表中的单个列. 这是我最简单形式的表结构: 球队 id | team_name | 1 | teamA | 2 | teamB | 3 | teamC ...

最新文章

  1. Android Paint
  2. android 开发使用adb操作sqlite
  3. Windows下删除.svn文件夹的最简易方法
  4. Spring Boot - 自动配置实现原理
  5. SpringBoot指南(六)——错误页面、单元测试、文件上传
  6. 你究竟值多少钱?2021 科技行业薪酬分析
  7. SQL语句优化常见方法
  8. ppt图片去水印-ppt图片去水印怎么设置
  9. PID调节规律各自的特点
  10. 实现virtual box虚拟机窗口全屏显示
  11. Kinect 2.0 安装体验
  12. tomcat报错:No such device; No faulty members identified.
  13. IEC61400-6 2020 塔架及基础设计要求 附录K 翻译
  14. 【软件测试】:“用户登录”功能测试用例设计方法
  15. 集合框架(一)——概述
  16. win10系统警告unknown hard error开不了机怎么办
  17. PHPMyWind编辑器支持Word上传
  18. MySQL隔离级别--未提交读,提交读,可重复读,序列化--详解(有示例)
  19. 基于HTML5 技术的开放自动化HMI
  20. 用记事本怎么在html页面中加入个按钮,,页面提示5次你干啥点我,用word制作网页...

热门文章

  1. 算法导论-装配线调度问题
  2. Row_number () over (partition by col1 order by col2)的用法
  3. ASP.NET 2.0(C#) - Themes(主题)
  4. 技术人员如何创业《四》- 打造超强执行力团队(转载)
  5. 您的支持是作者写作最大的动力!
  6. RabbitMq集群使用Nginx做负载均衡
  7. 在阿里云Kubernetes上运行SpringCloud示例PiggyMetrics
  8. gbk编码的简介以及针对gbk文本飘红截断原理以及实现
  9. 命令行下一种新的加帐号的方法
  10. 使用Solr 增加索引以及检索