8.2.1.5 Engine Condition Pushdown Optimization   引擎条件下推优化

这种优化改善了直接比较在一个非索引列和一个常量比较的效率。

在这种情况下, 条件是 下推到存储引擎用于评估,这个优化智能用于NDB存储引擎

MySQL 集群,这个优化可以消除需要发送非匹配的记录通过网络在cluster的数据节点和MySQL Server

假设 MySQL Cluster  表是定义如下:

CREATE TABLE t1 (
a INT,
b INT,
KEY(a)
) ENGINE=NDB; 条件下推可以用于查询如下,包含一个比较在非索引列和一个常量 SELECT a, b FROM t1 WHERE b = 10; 条件下推的使用可以从EXPLAIN 输出: mysql> EXPLAIN SELECT a,b FROM t1 WHERE b = 10\G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: t1
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 10
Extra: Using where with pushed condition 然而,条件下推不能用于下面两个查询: SELECT a,b FROM t1 WHERE a = 10;
SELECT a,b FROM t1 WHERE b + 1 = 10; 条件下推不适用于第一个查询因为一个index 存在在列a, (一个Index 访问方法会更加有效率因此会优先选择) 条件下推不能用于第2个查询是因为 比较涉及非索引列是对的(然而,条件下推可以应用如果你降低b+1=10 为b=9) 条件下推也可以被调用当一个索引列是和一个常量比较使用>或者<操作符 mysql> EXPLAIN SELECT a, b FROM t1 WHERE a < 2\G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: t1
type: range
possible_keys: a
key: a
key_len: 5
ref: NULL
rows: 2
Extra: Using where with pushed condition 其他支持的比较用于条件下推如下: 1.column [NOT] LIKE pattern 模式必须是一个字符串包含匹配的模式 column IS [NOT] NULL column IN (value_list) 每个item 在value_list 是一个常量,常量值 column BETWEEN constant1 AND constant2 在前面列表的所有例子中,它是可以的对于条件被转换成一个或者俄夺各直接比较的格式在一个列和一个常量

8.2.1.5 Engine Condition Pushdown Optimization 引擎条件下推优化的更多相关文章

  1. 浅析MySQL中的Index Condition Pushdown (ICP 索引条件下推)和Multi-Range Read(MRR 索引多范围查找)查询优化

    本文出处:http://www.cnblogs.com/wy123/p/7374078.html(保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误 ...

  2. MySQL 中Index Condition Pushdown (ICP 索引条件下推)和Multi-Range Read(MRR 索引多范围查找)查询优化

    一.ICP优化原理 Index Condition Pushdown (ICP),也称为索引条件下推,体现在执行计划的上是会出现Using index condition(Extra列,当然Extra ...

  3. MySQL5.6之Index Condition Pushdown(ICP,索引条件下推)-Using index condition

    http://blog.itpub.net/22664653/viewspace-1210844/ -- 这篇博客写的更细,以后看 ICP(index condition pushdown)是mysq ...

  4. Index Condition Pushdown Optimization

    Index Condition Pushdown (ICP) is an optimization for the case where MySQL retrieves rows from a tab ...

  5. MySQL ICP(Index Condition Pushdown)特性

    一.SQL的where条件提取规则 在ICP(Index Condition Pushdown,索引条件下推)特性之前,必须先搞明白根据何登成大神总结出一套放置于所有SQL语句而皆准的where查询条 ...

  6. MySQL 优化之 ICP (index condition pushdown:索引条件下推)

    ICP技术是在MySQL5.6中引入的一种索引优化技术.它能减少在使用 二级索引 过滤where条件时的回表次数 和 减少MySQL server层和引擎层的交互次数.在索引组织表中,使用二级索引进行 ...

  7. MySQL索引与Index Condition Pushdown(二)

    实验 先从一个简单的实验开始直观认识ICP的作用. 安装数据库 首先需要安装一个支持ICP的MariaDB或MySQL数据库.我使用的是MariaDB 5.5.34,如果是使用MySQL则需要5.6版 ...

  8. 【mysql】关于Index Condition Pushdown特性

    ICP简介 Index Condition Pushdown (ICP) is an optimization for the case where MySQL retrieves rows from ...

  9. MySQL索引与Index Condition Pushdown

    实际上,这个页面所讲述的是在MariaDB 5.3.3(MySQL是在5.6)开始引入的一种叫做Index Condition Pushdown(以下简称ICP)的查询优化方式.由于本身不是一个层面的 ...

随机推荐

  1. jenkins服务器安装

    http://www.360doc.com/content/13/0412/09/10504424_277718090.shtml

  2. Target runtime Apache Tomcat v6.0 is not defined. phyy Unknown Faceted Project Problem

    Description Resource Path Location TypeTarget runtime Apache Tomcat v6.0 is not defined. phyy Unknow ...

  3. gulp入门学习

    一.gulp简介 gulp是一个自动化构建工具.在开发过工程中,能够使用gulp对项目进行自动构建,大大提高工作效率. 二.安装gulp 在安装gulp之前先要确认已经正确安装了node.js,然后在 ...

  4. TreeView绑定无限层级关系类

    protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Bind_TV(TreeView1.Nodes); ...

  5. HTML中<b>标签和<strong>便签的区别

    最近碰到的问题,自己写的时候因为<b>标签比较简短偶尔使用,看到别人有使用<strong>标签的,本人不懂区别,在网上找的别人的东西,觉得很有道理,跟大家分享看看~~ 链接:h ...

  6. xampp进程和非进程执行

    xampp以服务和非服务运行apache有哪些区别?为什么去掉勾是以进程的形式执行?

  7. sql server 导出

    http://ssat.codeplex.com/SourceControl/latest 用于连接sql server

  8. ajax+ashx 完美实现input file上传文件

    1.input file 样式不能满足需求 <input type="file" value="浏览" /> IE8效果图:    Firefox效 ...

  9. egrep和grep有什么区别

    grep默认不支持正则表达式,egrep默认支持正则表达式,egrep 等于 grep -E 命令.

  10. 有用的前端demo

    js定时器循环切换字体和背景颜色<script type="text/javascript"> var flashId = 0; setInterval(functio ...