如何进行MySQL索引条件下推的简单测试

技术如何进行MySQL索引条件下推的简单测试本篇文章给大家分享的是有关如何进行MySQL索引条件下推的简单测试,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

本文是给大家分享一个如何在MySQL索引条件下推送的简单测试。边肖觉得挺实用的,分享给你学习。希望你看完这篇文章能有所收获。我们就不多说了。让我们和边肖一起看看。

从MySQL 5.6开始,索引有了一些改进,比如Index条件下推,ICP),严格属于优化器级别。

如果简单理解,优化器会尽可能多地放入索引。

条件的处理从服务器层下推到存储引擎层。例如,有一个表的组合索引idx_cols包含(c1,C2,CN) N列。如果在C1有距离扫描的条件,剩余的n-1索引C2,CN不能用来提取和过滤数据,ICP只是优化了这件事。

让我们在MySQL 5.6中进行一个简单的测试。

让我们创建表emp,它包含一个主键和一个复合索引来说明这一点。

创建表emp(

empno smallint(5)无符号非空auto_increment,

ename varchar(30)不为空,

deptno smallint(5)无符号不为null,

作业varchar(30)不为空,

主键(empno),

密钥idx_emp_info(deptno,ename)

)engine=InnoDB charset=utf8

当然,我也随机插入了几条数据,意思就是。

在emp值中插入(1,‘张山’,1,‘CEO’),(2,‘Lisi’,2,‘CFO’,(3,‘吴王’,3,‘CTO’,(4,‘jean run 100’,3,‘engineer’);

ICP的控件在数据库参数中有一个优化器参数optimizer_switch进行统一管理。我想这也是MySQL优化器离我们最近的时候。您可以通过以下方式进行检查。

显示像“optimizer_switch”这样的变量;

当然,在5.6之前的版本中,是看不到单词索引条件下推的。5.6版的结果如下:

# MySQL admin var | grep optimizer _ switch

optimizer_switch |

index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,实体化=on,半连接=on,松散扫描=on,firstmatch=on,Query _实体化_cost_based=on,use _ index _ extensions=on。接下来,我们将使用两个语句来说明比较,我们将通过实施计划来比较它们。

设置optimizer _ switch=' index _ condition _ push down=off '

解释从emp中选择*其中deptno介于1和100之间,ename=' jeanron100

- - - - - - - - - -

| id | select _ type | table | type | optional _ keys | key | key _ len | ref | row | Extra |

- - - - - - - - - -

| 1 | SIMPLE | EMP | ALL | idx _ EMP _ info | NULL | NULL | NULL | 4 |使用位置|

- - - - - - - - - -

如果是,看看是否启用了ICP。

将optimizer _ switch=' index _ condition _ push down=on ';解释选择*从emp,其中deptno介于10和3000之间,ename=' jeanron100

- - - - - - - - - -

| id | select _ type | table | type | optional _ keys | key | key _ len | ref | row | Extra |

- - - - - - - - - -

| 1 | SIMPLE | EMP | range | idx _ EMP _ info | idx _ EMP _ info | 94 | NULL | 1 |使用索引条件|

- - - - - - - - - -

集内1行(0.00秒)如果仔细观察,会发现两种说法还是有区别的,即范围扫描的范围不同。如果还用原来的说法,结果还是有限的。

解释从emp中选择*其中deptno介于1和300之间,ename=' jeanron100

- - - - - - - - - -

| id | select _ type | table | type | optional _ keys | key | key _ len | ref | row | Extra |

- - - - - - - - - -

| 1 | SIMPLE | EMP | ALL | idx _ EMP _ info | NULL | NULL | NULL | 4 |使用位置|

- - - - - - - - - -

1排一组(0.00秒)这个地方值得仔细推敲。

以上是一个关于如何下推MySQL索引的简单测试。边肖认为,一些知识点可能会在我们的日常工作中看到或使用。我希望你能通过这篇文章学到更多的知识。更多详情请关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/95846.html

(0)

相关推荐

  • CF 1500 C

    技术CF 1500 C CF 1500 CCF 1500 C
    题意:
    ? 给你两个 \(n \times m\) 的矩阵 A,B(1 \(\leq\) n,m \(\leq\) 1500),矩阵的元素均

    礼包 2021年11月30日
  • 哈尼族的传统节日风俗,哈尼族有哪些节日和风俗习惯

    技术哈尼族的传统节日风俗,哈尼族有哪些节日和风俗习惯居住习俗:哈尼族多居住在半山腰,依山势建立村寨。2.服装习俗:哈尼族一般用自己染织的藏青色土布做衣服。男人多穿对襟上衣和长裤,用黑布或白布裹头。妇女多穿右襟无领上衣,下

    生活 2021年10月21日
  • 光影-物理技术指标层面

    技术光影-物理技术指标层面 光影-物理技术指标层面光照 图像 摄像机光影
    灯光
    光照灯光的还原度在于显色性
    灯的分类筒灯 射灯 灯带 吊灯 感应小夜灯 床头壁灯 吸顶灯 香薰灯芯片和模组
    0

    礼包 2021年10月27日
  • 抖音24小时自助刷业务,便宜刷抖音网站?

    技术抖音24小时自助刷业务,便宜刷抖音网站?抖音是一款短视频app,深受大众的喜爱,因为里面既可以观看别人的作品,也可以发布自己的作品。别人观看自己的作品后给点赞,就是给我们最大的鼓励。但是,在抖音上发布的大多数作品是没

    测评 2021年11月11日
  • 混凝土试块强度评定,混凝土试块评定方法标准差怎么算

    技术混凝土试块强度评定,混凝土试块评定方法标准差怎么算评定水泥混凝土的抗压强度,应以标准养生28d 龄期的试件为准。试件为边长150mm 的立方体。试件3 件为1组。水泥混凝土抗压强度的合格标准混凝土试块强度评定:一、试

    生活 2021年10月25日
  • Mysql在LONGTEXT字段上作like操作的消耗是怎样的

    技术Mysql在LONGTEXT字段上作like操作的消耗是怎样的这篇文章将为大家详细讲解有关Mysql在LONGTEXT字段上作like操作的消耗是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这

    攻略 2021年11月20日