Optimizing SELECT Statements Engine condition pushdown can be used with queries such as the one shown here, which includes a comparison between a nonindexed column and a constant: SELECT a, b FROM t1 WHERE b = 10; The use of engine condition pushdown can be seen in the output of  EXPLAIN : However, engine condition pushdown  cannot  be used with the following query: SELECT a,b FROM t1 WHERE a = 10; Engine condition pushdown is not applicable here because an index exists on column  a . (An index access method would be more efficient and so would be chosen in preference to condition pushdown.) Engine condition pushdown may also be employed when an indexed column is compared with a constant using a  >  or  <  operator: Other supported comparisons for engine condition pushdown include the following: pattern  must be a string literal containing the pattern to be matched; for syntax, see Section 12.8.1, “String Comparison Functions and Operators” . Each item in the  value_list  must be a constant, literal value. constant1  and  constant2  must each be a constant, literal value. 1657 • column  BETWEEN  constant1  AND  constant2 • column  IS [NOT] NULL • column  IN ( value_list ) • column  [NOT] LIKE  pattern a INT, b INT, KEY(a) ) ENGINE=NDB; 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 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