zoukankan      html  css  js  c++  java
  • 8.2.1.5 Engine Condition Pushdown Optimization 引擎优化条件推入

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

    这种优化提高了直接比较的效率在一个非索引列和一个常数,在这种情况下, 条件是被推入到存储引擎进行评估,

    这种优化只能被NDB 存储引擎使用。

    Mysql Cluster, 优化器能消除发送不匹配记录的需要通过网络在cluster的数据节点和MySQL Server 执行查询,

    假设MySQL Cluster 表定义如下:

    CREATE TABLE t1 (
    a INT,
    b INT,
    KEY(a)
    ) ENGINE=NDB;

    条件推入可以用于查询,如上图所示,其中包括非索引列和一个常数之间的比较
    SELECT a, b FROM t1 WHERE b = 10;

    The use of condition pushdown can be seen in the output of EXPLAIN:

    mysql> EXPLAIN SELECT a,b FROM t1 WHERE b = 10G
    ***************** 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
    However, condition pushdown cannot be used with either of these two queries:

    然而,条件推入 不能用于在下面2个查询:

    SELECT a,b FROM t1 WHERE a = 10;
    SELECT a,b FROM t1 WHERE b + 1 = 10;

    条件推入不适用于第一个查询,因为一个索引存在列a.(一个索引的访问方法会变得更有效,因此会选择条件推入)

  • 相关阅读:
    杭电 1548 A strange lift(广搜)
    JAVA数组的定义及用法
    WPF之Binding深入探讨
    FBReaderJ源代码编译配置
    【剑指offer】合并两有序单链表
    对HGE游戏引擎的一次封装
    WAV文件格式分析
    Ubuntu9.04更新源
    内核及内核模块
    java实现第七届蓝桥杯愤怒小鸟
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351436.html
Copyright © 2011-2022 走看看