mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
aff34a8c64
- Renamed "Using join cache" to "Using join buffer". - "Using join buffer" is now printed on the last table that "reads" from the join buffer cache. mysql-test/r/archive_gis.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/compress.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/ctype_utf8.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/derived.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/distinct.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/func_group.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/func_group_innodb.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/gis.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/greedy_optimizer.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/group_by.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/group_min_max.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/index_merge_myisam.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/information_schema.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/innodb_gis.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/innodb_mysql.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/join.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/join_nested.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/key_diff.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/myisam.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/ndb_condition_pushdown.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/ndb_gis.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/range.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/row.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/select.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/ssl.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/ssl_compress.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/subselect.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/subselect3.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/union.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. mysql-test/r/view.result: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch. sql/sql_select.cc: Bug #27531: renamed "Using join cache" to "Using join buffer" and moved to the last table in the batch.
1892 lines
54 KiB
Text
1892 lines
54 KiB
Text
DROP TABLE IF EXISTS t1,t2,t3,t4;
|
|
CREATE TABLE t1 (
|
|
auto int(5) unsigned NOT NULL auto_increment,
|
|
string char(10),
|
|
vstring varchar(10),
|
|
bin binary(2),
|
|
vbin varbinary(7),
|
|
tiny tinyint(4) DEFAULT '0' NOT NULL ,
|
|
short smallint(6) DEFAULT '1' NOT NULL ,
|
|
medium mediumint(8) DEFAULT '0' NOT NULL,
|
|
long_int int(11) DEFAULT '0' NOT NULL,
|
|
longlong bigint(13) DEFAULT '0' NOT NULL,
|
|
real_float float(13,1) DEFAULT 0.0 NOT NULL,
|
|
real_double double(16,4),
|
|
real_decimal decimal(16,4),
|
|
utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
|
|
ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
|
|
umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
|
|
ulong int(11) unsigned DEFAULT '0' NOT NULL,
|
|
ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
|
|
bits bit(3),
|
|
options enum('zero','one','two','three','four') not null,
|
|
flags set('zero','one','two','three','four') not null,
|
|
date_field date,
|
|
year_field year,
|
|
time_field time,
|
|
date_time datetime,
|
|
time_stamp timestamp,
|
|
PRIMARY KEY (auto)
|
|
) engine=ndb;
|
|
insert into t1 values
|
|
(NULL,"aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1.1,1,1,1,1,1,
|
|
b'001','one','one',
|
|
'1901-01-01','1901',
|
|
'01:01:01','1901-01-01 01:01:01',NULL),
|
|
(NULL,"bbbb","bbbb",0xBBBB,0xBBBB,-2,-2,-2,-2,-2,2.2,2.2,2.2,2,2,2,2,2,
|
|
b'010','two','one,two',
|
|
'1902-02-02','1902',
|
|
'02:02:02','1902-02-02 02:02:02',NULL),
|
|
(NULL,"cccc","cccc",0xCCCC,0xCCCC,-3,-3,-3,-3,-3,3.3,3.3,3.3,3,3,3,3,3,
|
|
b'011','three','one,two,three',
|
|
'1903-03-03','1903',
|
|
'03:03:03','1903-03-03 03:03:03',NULL),
|
|
(NULL,"dddd","dddd",0xDDDD,0xDDDD,-4,-4,-4,-4,-4,4.4,4.4,4.4,4,4,4,4,4,
|
|
b'100','four','one,two,three,four',
|
|
'1904-04-04','1904',
|
|
'04:04:04','1904-04-04 04:04:04',NULL);
|
|
CREATE TABLE t2 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NOT NULL, attr2 int unsigned, attr3 VARCHAR(10) ) ENGINE=ndbcluster;
|
|
insert into t2 values (0,0,0, "a"),(1,1,1,"b"),(2,2,NULL,NULL),(3,3,3,"d"),(4,4,4,"e"),(5,5,5,"f");
|
|
CREATE TABLE t3 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NOT NULL, attr2 bigint unsigned, attr3 tinyint unsigned, attr4 VARCHAR(10) ) ENGINE=ndbcluster;
|
|
insert into t3 values (0,0,0,0,"a"),(1,1,9223372036854775803,1,"b"),(2,2,9223372036854775804,2,"c"),(3,3,9223372036854775805,3,"d"),(4,4,9223372036854775806,4,"e"),(5,5,9223372036854775807,5,"f");
|
|
CREATE TABLE t4 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NOT NULL, attr2 bigint unsigned, attr3 tinyint unsigned, attr4 VARCHAR(10) , KEY (attr1)) ENGINE=ndbcluster;
|
|
insert into t4 values (0,0,0,0,"a"),(1,1,9223372036854775803,1,"b"),(2,2,9223372036854775804,2,"c"),(3,3,9223372036854775805,3,"d"),(4,4,9223372036854775806,4,"e"),(5,5,9223372036854775807,5,"f");
|
|
set @old_ecpd = @@session.engine_condition_pushdown;
|
|
set engine_condition_pushdown = off;
|
|
select auto from t1 where
|
|
string = "aaaa" and
|
|
vstring = "aaaa" and
|
|
bin = 0xAAAA and
|
|
vbin = 0xAAAA and
|
|
tiny = -1 and
|
|
short = -1 and
|
|
medium = -1 and
|
|
long_int = -1 and
|
|
longlong = -1 and
|
|
real_float > 1.0 and real_float < 2.0 and
|
|
real_double > 1.0 and real_double < 2.0 and
|
|
real_decimal > 1.0 and real_decimal < 2.0 and
|
|
utiny = 1 and
|
|
ushort = 1 and
|
|
umedium = 1 and
|
|
ulong = 1 and
|
|
ulonglong = 1 and
|
|
bits = b'001' and
|
|
options = 'one' and
|
|
flags = 'one' and
|
|
date_field = '1901-01-01' and
|
|
year_field = '1901' and
|
|
time_field = '01:01:01' and
|
|
date_time = '1901-01-01 01:01:01'
|
|
order by auto;
|
|
auto
|
|
1
|
|
select auto from t1 where
|
|
string != "aaaa" and
|
|
vstring != "aaaa" and
|
|
bin != 0xAAAA and
|
|
vbin != 0xAAAA and
|
|
tiny != -1 and
|
|
short != -1 and
|
|
medium != -1 and
|
|
long_int != -1 and
|
|
longlong != -1 and
|
|
(real_float < 1.0 or real_float > 2.0) and
|
|
(real_double < 1.0 or real_double > 2.0) and
|
|
(real_decimal < 1.0 or real_decimal > 2.0) and
|
|
utiny != 1 and
|
|
ushort != 1 and
|
|
umedium != 1 and
|
|
ulong != 1 and
|
|
ulonglong != 1 and
|
|
bits != b'001' and
|
|
options != 'one' and
|
|
flags != 'one' and
|
|
date_field != '1901-01-01' and
|
|
year_field != '1901' and
|
|
time_field != '01:01:01' and
|
|
date_time != '1901-01-01 01:01:01'
|
|
order by auto;
|
|
auto
|
|
2
|
|
3
|
|
4
|
|
select auto from t1 where
|
|
string > "aaaa" and
|
|
vstring > "aaaa" and
|
|
bin > 0xAAAA and
|
|
vbin > 0xAAAA and
|
|
tiny < -1 and
|
|
short < -1 and
|
|
medium < -1 and
|
|
long_int < -1 and
|
|
longlong < -1 and
|
|
real_float > 1.1 and
|
|
real_double > 1.1 and
|
|
real_decimal > 1.1 and
|
|
utiny > 1 and
|
|
ushort > 1 and
|
|
umedium > 1 and
|
|
ulong > 1 and
|
|
ulonglong > 1 and
|
|
bits > b'001' and
|
|
(options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field > '1901-01-01' and
|
|
year_field > '1901' and
|
|
time_field > '01:01:01' and
|
|
date_time > '1901-01-01 01:01:01'
|
|
order by auto;
|
|
auto
|
|
2
|
|
3
|
|
4
|
|
select auto from t1 where
|
|
string >= "aaaa" and
|
|
vstring >= "aaaa" and
|
|
bin >= 0xAAAA and
|
|
vbin >= 0xAAAA and
|
|
tiny <= -1 and
|
|
short <= -1 and
|
|
medium <= -1 and
|
|
long_int <= -1 and
|
|
longlong <= -1 and
|
|
real_float >= 1.0 and
|
|
real_double >= 1.0 and
|
|
real_decimal >= 1.0 and
|
|
utiny >= 1 and
|
|
ushort >= 1 and
|
|
umedium >= 1 and
|
|
ulong >= 1 and
|
|
ulonglong >= 1 and
|
|
bits >= b'001' and
|
|
(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field >= '1901-01-01' and
|
|
year_field >= '1901' and
|
|
time_field >= '01:01:01' and
|
|
date_time >= '1901-01-01 01:01:01'
|
|
order by auto;
|
|
auto
|
|
1
|
|
2
|
|
3
|
|
4
|
|
select auto from t1 where
|
|
string < "dddd" and
|
|
vstring < "dddd" and
|
|
bin < 0xDDDD and
|
|
vbin < 0xDDDD and
|
|
tiny > -4 and
|
|
short > -4 and
|
|
medium > -4 and
|
|
long_int > -4 and
|
|
longlong > -4 and
|
|
real_float < 4.4 and
|
|
real_double < 4.4 and
|
|
real_decimal < 4.4 and
|
|
utiny < 4 and
|
|
ushort < 4 and
|
|
umedium < 4 and
|
|
ulong < 4 and
|
|
ulonglong < 4 and
|
|
bits < b'100' and
|
|
(options = 'one' or options = 'two' or options = 'three') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
|
|
date_field < '1904-01-01' and
|
|
year_field < '1904' and
|
|
time_field < '04:04:04' and
|
|
date_time < '1904-04-04 04:04:04'
|
|
order by auto;
|
|
auto
|
|
1
|
|
2
|
|
3
|
|
select auto from t1 where
|
|
string <= "dddd" and
|
|
vstring <= "dddd" and
|
|
bin <= 0xDDDD and
|
|
vbin <= 0xDDDD and
|
|
tiny >= -4 and
|
|
short >= -4 and
|
|
medium >= -4 and
|
|
long_int >= -4 and
|
|
longlong >= -4 and
|
|
real_float <= 4.5 and
|
|
real_double <= 4.5 and
|
|
real_decimal <= 4.5 and
|
|
utiny <= 4 and
|
|
ushort <= 4 and
|
|
umedium <= 4 and
|
|
ulong <= 4 and
|
|
ulonglong <= 4 and
|
|
bits <= b'100' and
|
|
(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field <= '1904-04-04' and
|
|
year_field <= '1904' and
|
|
time_field <= '04:04:04' and
|
|
date_time <= '1904-04-04 04:04:04'
|
|
order by auto;
|
|
auto
|
|
1
|
|
2
|
|
3
|
|
4
|
|
select auto from t1 where
|
|
string like "b%" and
|
|
vstring like "b%" and
|
|
bin like concat(0xBB, '%') and
|
|
vbin like concat(0xBB, '%')
|
|
order by auto;
|
|
auto
|
|
2
|
|
select auto from t1 where
|
|
string not like "b%" and
|
|
vstring not like "b%" and
|
|
bin not like concat(0xBB, '%') and
|
|
vbin not like concat(0xBB, '%')
|
|
order by auto;
|
|
auto
|
|
1
|
|
3
|
|
4
|
|
select auto from t1 where
|
|
(string between "aaaa" and "cccc") and
|
|
(vstring between "aaaa" and "cccc") and
|
|
(bin between 0xAAAA and 0xCCCC) and
|
|
(vbin between 0xAAAA and 0xCCCC) and
|
|
(tiny between -3 and -1) and
|
|
(short between -3 and -1) and
|
|
(medium between -3 and -1) and
|
|
(long_int between -3 and -1) and
|
|
(longlong between -3 and -1) and
|
|
(utiny between 1 and 3) and
|
|
(ushort between 1 and 3) and
|
|
(umedium between 1 and 3) and
|
|
(ulong between 1 and 3) and
|
|
(ulonglong between 1 and 3) and
|
|
(bits between b'001' and b'011') and
|
|
(options between 'one' and 'three') and
|
|
(flags between 'one' and 'one,two,three') and
|
|
(date_field between '1901-01-01' and '1903-03-03') and
|
|
(year_field between '1901' and '1903') and
|
|
(time_field between '01:01:01' and '03:03:03') and
|
|
(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
|
|
order by auto;
|
|
auto
|
|
1
|
|
3
|
|
select auto from t1 where
|
|
("aaaa" between string and string) and
|
|
("aaaa" between vstring and vstring) and
|
|
(0xAAAA between bin and bin) and
|
|
(0xAAAA between vbin and vbin) and
|
|
(-1 between tiny and tiny) and
|
|
(-1 between short and short) and
|
|
(-1 between medium and medium) and
|
|
(-1 between long_int and long_int) and
|
|
(-1 between longlong and longlong) and
|
|
(1 between utiny and utiny) and
|
|
(1 between ushort and ushort) and
|
|
(1 between umedium and umedium) and
|
|
(1 between ulong and ulong) and
|
|
(1 between ulonglong and ulonglong) and
|
|
(b'001' between bits and bits) and
|
|
('one' between options and options) and
|
|
('one' between flags and flags) and
|
|
('1901-01-01' between date_field and date_field) and
|
|
('1901' between year_field and year_field) and
|
|
('01:01:01' between time_field and time_field) and
|
|
('1901-01-01 01:01:01' between date_time and date_time)
|
|
order by auto;
|
|
auto
|
|
1
|
|
select auto from t1 where
|
|
(string not between "aaaa" and "cccc") and
|
|
(vstring not between "aaaa" and "cccc") and
|
|
(bin not between 0xAAAA and 0xCCCC) and
|
|
(vbin not between 0xAAAA and 0xCCCC) and
|
|
(tiny not between -3 and -1) and
|
|
(short not between -3 and -1) and
|
|
(medium not between -3 and -1) and
|
|
(long_int not between -3 and -1) and
|
|
(longlong not between -3 and -1) and
|
|
(utiny not between 1 and 3) and
|
|
(ushort not between 1 and 3) and
|
|
(umedium not between 1 and 3) and
|
|
(ulong not between 1 and 3) and
|
|
(ulonglong not between 1 and 3) and
|
|
(bits not between b'001' and b'011') and
|
|
(options not between 'one' and 'three') and
|
|
(flags not between 'one' and 'one,two,three') and
|
|
(date_field not between '1901-01-01' and '1903-03-03') and
|
|
(year_field not between '1901' and '1903') and
|
|
(time_field not between '01:01:01' and '03:03:03') and
|
|
(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
|
|
order by auto;
|
|
auto
|
|
4
|
|
select auto from t1 where
|
|
("aaaa" not between string and string) and
|
|
("aaaa" not between vstring and vstring) and
|
|
(0xAAAA not between bin and bin) and
|
|
(0xAAAA not between vbin and vbin) and
|
|
(-1 not between tiny and tiny) and
|
|
(-1 not between short and short) and
|
|
(-1 not between medium and medium) and
|
|
(-1 not between long_int and long_int) and
|
|
(-1 not between longlong and longlong) and
|
|
(1 not between utiny and utiny) and
|
|
(1 not between ushort and ushort) and
|
|
(1 not between umedium and umedium) and
|
|
(1 not between ulong and ulong) and
|
|
(1 not between ulonglong and ulonglong) and
|
|
(b'001' not between bits and bits) and
|
|
('one' not between options and options) and
|
|
('one' not between flags and flags) and
|
|
('1901-01-01' not between date_field and date_field) and
|
|
('1901' not between year_field and year_field) and
|
|
('01:01:01' not between time_field and time_field) and
|
|
('1901-01-01 01:01:01' not between date_time and date_time)
|
|
order by auto;
|
|
auto
|
|
2
|
|
3
|
|
4
|
|
select auto from t1 where
|
|
string in("aaaa","cccc") and
|
|
vstring in("aaaa","cccc") and
|
|
bin in(0xAAAA,0xCCCC) and
|
|
vbin in(0xAAAA,0xCCCC) and
|
|
tiny in(-1,-3) and
|
|
short in(-1,-3) and
|
|
medium in(-1,-3) and
|
|
long_int in(-1,-3) and
|
|
longlong in(-1,-3) and
|
|
utiny in(1,3) and
|
|
ushort in(1,3) and
|
|
umedium in(1,3) and
|
|
ulong in(1,3) and
|
|
ulonglong in(1,3) and
|
|
bits in(b'001',b'011') and
|
|
options in('one','three') and
|
|
flags in('one','one,two,three') and
|
|
date_field in('1901-01-01','1903-03-03') and
|
|
year_field in('1901','1903') and
|
|
time_field in('01:01:01','03:03:03') and
|
|
date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
|
|
order by auto;
|
|
auto
|
|
1
|
|
3
|
|
select auto from t1 where
|
|
"aaaa" in(string) and
|
|
"aaaa" in(vstring) and
|
|
0xAAAA in(bin) and
|
|
0xAAAA in(vbin) and
|
|
(-1 in(tiny)) and
|
|
(-1 in(short)) and
|
|
(-1 in(medium)) and
|
|
(-1 in(long_int)) and
|
|
(-1 in(longlong)) and
|
|
1 in(utiny) and
|
|
1 in(ushort) and
|
|
1 in(umedium) and
|
|
1 in(ulong) and
|
|
1 in(ulonglong) and
|
|
b'001' in(bits) and
|
|
'one' in(options) and
|
|
'one' in(flags) and
|
|
'1901-01-01' in(date_field) and
|
|
'1901' in(year_field) and
|
|
'01:01:01' in(time_field) and
|
|
'1901-01-01 01:01:01' in(date_time)
|
|
order by auto;
|
|
auto
|
|
1
|
|
select auto from t1 where
|
|
string not in("aaaa","cccc") and
|
|
vstring not in("aaaa","cccc") and
|
|
bin not in(0xAAAA,0xCCCC) and
|
|
vbin not in(0xAAAA,0xCCCC) and
|
|
tiny not in(-1,-3) and
|
|
short not in(-1,-3) and
|
|
medium not in(-1,-3) and
|
|
long_int not in(-1,-3) and
|
|
longlong not in(-1,-3) and
|
|
utiny not in(1,3) and
|
|
ushort not in(1,3) and
|
|
umedium not in(1,3) and
|
|
ulong not in(1,3) and
|
|
ulonglong not in(1,3) and
|
|
bits not in(b'001',b'011') and
|
|
options not in('one','three') and
|
|
flags not in('one','one,two,three') and
|
|
date_field not in('1901-01-01','1903-03-03') and
|
|
year_field not in('1901','1903') and
|
|
time_field not in('01:01:01','03:03:03') and
|
|
date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
|
|
order by auto;
|
|
auto
|
|
2
|
|
4
|
|
select auto from t1 where
|
|
"aaaa" not in(string) and
|
|
"aaaa" not in(vstring) and
|
|
0xAAAA not in(bin) and
|
|
0xAAAA not in(vbin) and
|
|
(-1 not in(tiny)) and
|
|
(-1 not in(short)) and
|
|
(-1 not in(medium)) and
|
|
(-1 not in(long_int)) and
|
|
(-1 not in(longlong)) and
|
|
1 not in(utiny) and
|
|
1 not in(ushort) and
|
|
1 not in(umedium) and
|
|
1 not in(ulong) and
|
|
1 not in(ulonglong) and
|
|
b'001' not in(bits) and
|
|
'one' not in(options) and
|
|
'one' not in(flags) and
|
|
'1901-01-01' not in(date_field) and
|
|
'1901' not in(year_field) and
|
|
'01:01:01' not in(time_field) and
|
|
'1901-01-01 01:01:01' not in(date_time)
|
|
order by auto;
|
|
auto
|
|
2
|
|
3
|
|
4
|
|
select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
|
|
pk1 attr1 attr2 attr3
|
|
2 2 NULL NULL
|
|
3 3 3 d
|
|
select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
|
|
pk1 attr1 attr2 attr3
|
|
3 3 3 d
|
|
4 4 4 e
|
|
5 5 5 f
|
|
select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
|
|
pk1 attr1 attr2 attr3 attr4
|
|
2 2 9223372036854775804 2 c
|
|
4 4 9223372036854775806 4 e
|
|
5 5 9223372036854775807 5 f
|
|
select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
|
|
pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3 attr4
|
|
0 0 0 a 0 0 0 0 a
|
|
select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
|
|
pk1 attr1 attr2 attr3 attr4
|
|
2 2 9223372036854775804 2 c
|
|
4 4 9223372036854775806 4 e
|
|
select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
|
|
pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4
|
|
2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c
|
|
3 3 9223372036854775805 3 d 3 3 9223372036854775805 3 d
|
|
4 4 9223372036854775806 4 e 4 4 9223372036854775806 4 e
|
|
set engine_condition_pushdown = on;
|
|
explain
|
|
select auto from t1 where
|
|
string = "aaaa" and
|
|
vstring = "aaaa" and
|
|
bin = 0xAAAA and
|
|
vbin = 0xAAAA and
|
|
tiny = -1 and
|
|
short = -1 and
|
|
medium = -1 and
|
|
long_int = -1 and
|
|
longlong = -1 and
|
|
real_float > 1.0 and real_float < 2.0 and
|
|
real_double > 1.0 and real_double < 2.0 and
|
|
real_decimal > 1.0 and real_decimal < 2.0 and
|
|
utiny = 1 and
|
|
ushort = 1 and
|
|
umedium = 1 and
|
|
ulong = 1 and
|
|
ulonglong = 1 and
|
|
/* bits = b'001' and */
|
|
options = 'one' and
|
|
flags = 'one' and
|
|
date_field = '1901-01-01' and
|
|
year_field = '1901' and
|
|
time_field = '01:01:01' and
|
|
date_time = '1901-01-01 01:01:01'
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string = "aaaa" and
|
|
vstring = "aaaa" and
|
|
bin = 0xAAAA and
|
|
vbin = 0xAAAA and
|
|
tiny = -1 and
|
|
short = -1 and
|
|
medium = -1 and
|
|
long_int = -1 and
|
|
longlong = -1 and
|
|
real_float > 1.0 and real_float < 2.0 and
|
|
real_double > 1.0 and real_double < 2.0 and
|
|
real_decimal > 1.0 and real_decimal < 2.0 and
|
|
utiny = 1 and
|
|
ushort = 1 and
|
|
umedium = 1 and
|
|
ulong = 1 and
|
|
ulonglong = 1 and
|
|
/* bits = b'001' and */
|
|
options = 'one' and
|
|
flags = 'one' and
|
|
date_field = '1901-01-01' and
|
|
year_field = '1901' and
|
|
time_field = '01:01:01' and
|
|
date_time = '1901-01-01 01:01:01'
|
|
order by auto;
|
|
auto
|
|
1
|
|
explain
|
|
select auto from t1 where
|
|
string != "aaaa" and
|
|
vstring != "aaaa" and
|
|
bin != 0xAAAA and
|
|
vbin != 0xAAAA and
|
|
tiny != -1 and
|
|
short != -1 and
|
|
medium != -1 and
|
|
long_int != -1 and
|
|
longlong != -1 and
|
|
(real_float < 1.0 or real_float > 2.0) and
|
|
(real_double < 1.0 or real_double > 2.0) and
|
|
(real_decimal < 1.0 or real_decimal > 2.0) and
|
|
utiny != 1 and
|
|
ushort != 1 and
|
|
umedium != 1 and
|
|
ulong != 1 and
|
|
ulonglong != 1 and
|
|
/* bits != b'001' and */
|
|
options != 'one' and
|
|
flags != 'one' and
|
|
date_field != '1901-01-01' and
|
|
year_field != '1901' and
|
|
time_field != '01:01:01' and
|
|
date_time != '1901-01-01 01:01:01'
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string != "aaaa" and
|
|
vstring != "aaaa" and
|
|
bin != 0xAAAA and
|
|
vbin != 0xAAAA and
|
|
tiny != -1 and
|
|
short != -1 and
|
|
medium != -1 and
|
|
long_int != -1 and
|
|
longlong != -1 and
|
|
(real_float < 1.0 or real_float > 2.0) and
|
|
(real_double < 1.0 or real_double > 2.0) and
|
|
(real_decimal < 1.0 or real_decimal > 2.0) and
|
|
utiny != 1 and
|
|
ushort != 1 and
|
|
umedium != 1 and
|
|
ulong != 1 and
|
|
ulonglong != 1 and
|
|
/* bits != b'001' and */
|
|
options != 'one' and
|
|
flags != 'one' and
|
|
date_field != '1901-01-01' and
|
|
year_field != '1901' and
|
|
time_field != '01:01:01' and
|
|
date_time != '1901-01-01 01:01:01'
|
|
order by auto;
|
|
auto
|
|
2
|
|
3
|
|
4
|
|
explain
|
|
select auto from t1 where
|
|
string > "aaaa" and
|
|
vstring > "aaaa" and
|
|
bin > 0xAAAA and
|
|
vbin > 0xAAAA and
|
|
tiny < -1 and
|
|
short < -1 and
|
|
medium < -1 and
|
|
long_int < -1 and
|
|
longlong < -1 and
|
|
real_float > 1.1 and
|
|
real_double > 1.1 and
|
|
real_decimal > 1.1 and
|
|
utiny > 1 and
|
|
ushort > 1 and
|
|
umedium > 1 and
|
|
ulong > 1 and
|
|
ulonglong > 1 and
|
|
/* bits > b'001' and */
|
|
(options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field > '1901-01-01' and
|
|
year_field > '1901' and
|
|
time_field > '01:01:01' and
|
|
date_time > '1901-01-01 01:01:01'
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string > "aaaa" and
|
|
vstring > "aaaa" and
|
|
bin > 0xAAAA and
|
|
vbin > 0xAAAA and
|
|
tiny < -1 and
|
|
short < -1 and
|
|
medium < -1 and
|
|
long_int < -1 and
|
|
longlong < -1 and
|
|
real_float > 1.1 and
|
|
real_double > 1.1 and
|
|
real_decimal > 1.1 and
|
|
utiny > 1 and
|
|
ushort > 1 and
|
|
umedium > 1 and
|
|
ulong > 1 and
|
|
ulonglong > 1 and
|
|
/* bits > b'001' and */
|
|
(options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field > '1901-01-01' and
|
|
year_field > '1901' and
|
|
time_field > '01:01:01' and
|
|
date_time > '1901-01-01 01:01:01'
|
|
order by auto;
|
|
auto
|
|
2
|
|
3
|
|
4
|
|
explain
|
|
select auto from t1 where
|
|
string >= "aaaa" and
|
|
vstring >= "aaaa" and
|
|
bin >= 0xAAAA and
|
|
vbin >= 0xAAAA and
|
|
tiny <= -1 and
|
|
short <= -1 and
|
|
medium <= -1 and
|
|
long_int <= -1 and
|
|
longlong <= -1 and
|
|
real_float >= 1.0 and
|
|
real_double >= 1.0 and
|
|
real_decimal >= 1.0 and
|
|
utiny >= 1 and
|
|
ushort >= 1 and
|
|
umedium >= 1 and
|
|
ulong >= 1 and
|
|
ulonglong >= 1 and
|
|
/* bits >= b'001' and */
|
|
(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field >= '1901-01-01' and
|
|
year_field >= '1901' and
|
|
time_field >= '01:01:01' and
|
|
date_time >= '1901-01-01 01:01:01'
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string >= "aaaa" and
|
|
vstring >= "aaaa" and
|
|
bin >= 0xAAAA and
|
|
vbin >= 0xAAAA and
|
|
tiny <= -1 and
|
|
short <= -1 and
|
|
medium <= -1 and
|
|
long_int <= -1 and
|
|
longlong <= -1 and
|
|
real_float >= 1.0 and
|
|
real_double >= 1.0 and
|
|
real_decimal >= 1.0 and
|
|
utiny >= 1 and
|
|
ushort >= 1 and
|
|
umedium >= 1 and
|
|
ulong >= 1 and
|
|
ulonglong >= 1 and
|
|
/* bits >= b'001' and */
|
|
(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field >= '1901-01-01' and
|
|
year_field >= '1901' and
|
|
time_field >= '01:01:01' and
|
|
date_time >= '1901-01-01 01:01:01'
|
|
order by auto;
|
|
auto
|
|
1
|
|
2
|
|
3
|
|
4
|
|
explain
|
|
select auto from t1 where
|
|
string < "dddd" and
|
|
vstring < "dddd" and
|
|
bin < 0xDDDD and
|
|
vbin < 0xDDDD and
|
|
tiny > -4 and
|
|
short > -4 and
|
|
medium > -4 and
|
|
long_int > -4 and
|
|
longlong > -4 and
|
|
real_float < 4.4 and
|
|
real_double < 4.4 and
|
|
real_decimal < 4.4 and
|
|
utiny < 4 and
|
|
ushort < 4 and
|
|
umedium < 4 and
|
|
ulong < 4 and
|
|
ulonglong < 4 and
|
|
/* bits < b'100' and */
|
|
(options = 'one' or options = 'two' or options = 'three') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
|
|
date_field < '1904-01-01' and
|
|
year_field < '1904' and
|
|
time_field < '04:04:04' and
|
|
date_time < '1904-04-04 04:04:04'
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string < "dddd" and
|
|
vstring < "dddd" and
|
|
bin < 0xDDDD and
|
|
vbin < 0xDDDD and
|
|
tiny > -4 and
|
|
short > -4 and
|
|
medium > -4 and
|
|
long_int > -4 and
|
|
longlong > -4 and
|
|
real_float < 4.4 and
|
|
real_double < 4.4 and
|
|
real_decimal < 4.4 and
|
|
utiny < 4 and
|
|
ushort < 4 and
|
|
umedium < 4 and
|
|
ulong < 4 and
|
|
ulonglong < 4 and
|
|
/* bits < b'100' and */
|
|
(options = 'one' or options = 'two' or options = 'three') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
|
|
date_field < '1904-01-01' and
|
|
year_field < '1904' and
|
|
time_field < '04:04:04' and
|
|
date_time < '1904-04-04 04:04:04'
|
|
order by auto;
|
|
auto
|
|
1
|
|
2
|
|
3
|
|
explain
|
|
select auto from t1 where
|
|
string <= "dddd" and
|
|
vstring <= "dddd" and
|
|
bin <= 0xDDDD and
|
|
vbin <= 0xDDDD and
|
|
tiny >= -4 and
|
|
short >= -4 and
|
|
medium >= -4 and
|
|
long_int >= -4 and
|
|
longlong >= -4 and
|
|
real_float <= 4.5 and
|
|
real_double <= 4.5 and
|
|
real_decimal <= 4.5 and
|
|
utiny <= 4 - 1 + 1 and /* Checking function composition */
|
|
ushort <= 4 and
|
|
umedium <= 4 and
|
|
ulong <= 4 and
|
|
ulonglong <= 4 and
|
|
/* bits <= b'100' and */
|
|
(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field <= '1904-04-04' and
|
|
year_field <= '1904' and
|
|
time_field <= '04:04:04' and
|
|
date_time <= '1904-04-04 04:04:04'
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string <= "dddd" and
|
|
vstring <= "dddd" and
|
|
bin <= 0xDDDD and
|
|
vbin <= 0xDDDD and
|
|
tiny >= -4 and
|
|
short >= -4 and
|
|
medium >= -4 and
|
|
long_int >= -4 and
|
|
longlong >= -4 and
|
|
real_float <= 4.5 and
|
|
real_double <= 4.5 and
|
|
real_decimal <= 4.5 and
|
|
utiny <= 4 - 1 + 1 and /* Checking function composition */
|
|
ushort <= 4 and
|
|
umedium <= 4 and
|
|
ulong <= 4 and
|
|
ulonglong <= 4 and
|
|
/* bits <= b'100' and */
|
|
(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field <= '1904-04-04' and
|
|
year_field <= '1904' and
|
|
time_field <= '04:04:04' and
|
|
date_time <= '1904-04-04 04:04:04'
|
|
order by auto;
|
|
auto
|
|
1
|
|
2
|
|
3
|
|
4
|
|
create index medium_index on t1(medium);
|
|
explain
|
|
select auto from t1 where
|
|
string = "aaaa" and
|
|
vstring = "aaaa" and
|
|
bin = 0xAAAA and
|
|
vbin = 0xAAAA and
|
|
tiny = -1 and
|
|
short = -1 and
|
|
medium = -1 and
|
|
long_int = -1 and
|
|
longlong = -1 and
|
|
real_float > 1.0 and real_float < 2.0 and
|
|
real_double > 1.0 and real_double < 2.0 and
|
|
real_decimal > 1.0 and real_decimal < 2.0 and
|
|
utiny = 1 and
|
|
ushort = 1 and
|
|
umedium = 1 and
|
|
ulong = 1 and
|
|
ulonglong = 1 and
|
|
/* bits = b'001' and */
|
|
options = 'one' and
|
|
flags = 'one' and
|
|
date_field = '1901-01-01' and
|
|
year_field = '1901' and
|
|
time_field = '01:01:01' and
|
|
date_time = '1901-01-01 01:01:01'
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ref medium_index medium_index 3 const # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string = "aaaa" and
|
|
vstring = "aaaa" and
|
|
bin = 0xAAAA and
|
|
vbin = 0xAAAA and
|
|
tiny = -1 and
|
|
short = -1 and
|
|
medium = -1 and
|
|
long_int = -1 and
|
|
longlong = -1 and
|
|
real_float > 1.0 and real_float < 2.0 and
|
|
real_double > 1.0 and real_double < 2.0 and
|
|
real_decimal > 1.0 and real_decimal < 2.0 and
|
|
utiny = 1 and
|
|
ushort = 1 and
|
|
umedium = 1 and
|
|
ulong = 1 and
|
|
ulonglong = 1 and
|
|
/* bits = b'001' and */
|
|
options = 'one' and
|
|
flags = 'one' and
|
|
date_field = '1901-01-01' and
|
|
year_field = '1901' and
|
|
time_field = '01:01:01' and
|
|
date_time = '1901-01-01 01:01:01'
|
|
order by auto;
|
|
auto
|
|
1
|
|
explain
|
|
select auto from t1 where
|
|
string != "aaaa" and
|
|
vstring != "aaaa" and
|
|
bin != 0xAAAA and
|
|
vbin != 0xAAAA and
|
|
tiny != -1 and
|
|
short != -1 and
|
|
medium != -1 and
|
|
long_int != -1 and
|
|
longlong != -1 and
|
|
(real_float < 1.0 or real_float > 2.0) and
|
|
(real_double < 1.0 or real_double > 2.0) and
|
|
(real_decimal < 1.0 or real_decimal > 2.0) and
|
|
utiny != 1 and
|
|
ushort != 1 and
|
|
umedium != 1 and
|
|
ulong != 1 and
|
|
ulonglong != 1 and
|
|
/* bits != b'001' and */
|
|
options != 'one' and
|
|
flags != 'one' and
|
|
date_field != '1901-01-01' and
|
|
year_field != '1901' and
|
|
time_field != '01:01:01' and
|
|
date_time != '1901-01-01 01:01:01'
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string != "aaaa" and
|
|
vstring != "aaaa" and
|
|
bin != 0xAAAA and
|
|
vbin != 0xAAAA and
|
|
tiny != -1 and
|
|
short != -1 and
|
|
medium != -1 and
|
|
long_int != -1 and
|
|
longlong != -1 and
|
|
(real_float < 1.0 or real_float > 2.0) and
|
|
(real_double < 1.0 or real_double > 2.0) and
|
|
(real_decimal < 1.0 or real_decimal > 2.0) and
|
|
utiny != 1 and
|
|
ushort != 1 and
|
|
umedium != 1 and
|
|
ulong != 1 and
|
|
ulonglong != 1 and
|
|
/* bits != b'001' and */
|
|
options != 'one' and
|
|
flags != 'one' and
|
|
date_field != '1901-01-01' and
|
|
year_field != '1901' and
|
|
time_field != '01:01:01' and
|
|
date_time != '1901-01-01 01:01:01'
|
|
order by auto;
|
|
auto
|
|
2
|
|
3
|
|
4
|
|
explain
|
|
select auto from t1 where
|
|
string > "aaaa" and
|
|
vstring > "aaaa" and
|
|
bin > 0xAAAA and
|
|
vbin > 0xAAAA and
|
|
tiny < -1 and
|
|
short < -1 and
|
|
medium < -1 and
|
|
long_int < -1 and
|
|
longlong < -1 and
|
|
real_float > 1.1 and
|
|
real_double > 1.1 and
|
|
real_decimal > 1.1 and
|
|
utiny > 1 and
|
|
ushort > 1 and
|
|
umedium > 1 and
|
|
ulong > 1 and
|
|
ulonglong > 1 and
|
|
/* bits > b'001' and */
|
|
(options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field > '1901-01-01' and
|
|
year_field > '1901' and
|
|
time_field > '01:01:01' and
|
|
date_time > '1901-01-01 01:01:01'
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string > "aaaa" and
|
|
vstring > "aaaa" and
|
|
bin > 0xAAAA and
|
|
vbin > 0xAAAA and
|
|
tiny < -1 and
|
|
short < -1 and
|
|
medium < -1 and
|
|
long_int < -1 and
|
|
longlong < -1 and
|
|
real_float > 1.1 and
|
|
real_double > 1.1 and
|
|
real_decimal > 1.1 and
|
|
utiny > 1 and
|
|
ushort > 1 and
|
|
umedium > 1 and
|
|
ulong > 1 and
|
|
ulonglong > 1 and
|
|
/* bits > b'001' and */
|
|
(options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field > '1901-01-01' and
|
|
year_field > '1901' and
|
|
time_field > '01:01:01' and
|
|
date_time > '1901-01-01 01:01:01'
|
|
order by auto;
|
|
auto
|
|
2
|
|
3
|
|
4
|
|
explain
|
|
select auto from t1 where
|
|
string >= "aaaa" and
|
|
vstring >= "aaaa" and
|
|
bin >= 0xAAAA and
|
|
vbin >= 0xAAAA and
|
|
tiny <= -1 and
|
|
short <= -1 and
|
|
medium <= -1 and
|
|
long_int <= -1 and
|
|
longlong <= -1 and
|
|
real_float >= 1.0 and
|
|
real_double >= 1.0 and
|
|
real_decimal >= 1.0 and
|
|
utiny >= 1 and
|
|
ushort >= 1 and
|
|
umedium >= 1 and
|
|
ulong >= 1 and
|
|
ulonglong >= 1 and
|
|
/* bits >= b'001' and */
|
|
(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field >= '1901-01-01' and
|
|
year_field >= '1901' and
|
|
time_field >= '01:01:01' and
|
|
date_time >= '1901-01-01 01:01:01'
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string >= "aaaa" and
|
|
vstring >= "aaaa" and
|
|
bin >= 0xAAAA and
|
|
vbin >= 0xAAAA and
|
|
tiny <= -1 and
|
|
short <= -1 and
|
|
medium <= -1 and
|
|
long_int <= -1 and
|
|
longlong <= -1 and
|
|
real_float >= 1.0 and
|
|
real_double >= 1.0 and
|
|
real_decimal >= 1.0 and
|
|
utiny >= 1 and
|
|
ushort >= 1 and
|
|
umedium >= 1 and
|
|
ulong >= 1 and
|
|
ulonglong >= 1 and
|
|
/* bits >= b'001' and */
|
|
(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field >= '1901-01-01' and
|
|
year_field >= '1901' and
|
|
time_field >= '01:01:01' and
|
|
date_time >= '1901-01-01 01:01:01'
|
|
order by auto;
|
|
auto
|
|
1
|
|
2
|
|
3
|
|
4
|
|
explain
|
|
select auto from t1 where
|
|
string < "dddd" and
|
|
vstring < "dddd" and
|
|
bin < 0xDDDD and
|
|
vbin < 0xDDDD and
|
|
tiny > -4 and
|
|
short > -4 and
|
|
medium > -4 and
|
|
long_int > -4 and
|
|
longlong > -4 and
|
|
real_float < 4.4 and
|
|
real_double < 4.4 and
|
|
real_decimal < 4.4 and
|
|
utiny < 4 and
|
|
ushort < 4 and
|
|
umedium < 4 and
|
|
ulong < 4 and
|
|
ulonglong < 4 and
|
|
/* bits < b'100' and */
|
|
(options = 'one' or options = 'two' or options = 'three') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
|
|
date_field < '1904-01-01' and
|
|
year_field < '1904' and
|
|
time_field < '04:04:04' and
|
|
date_time < '1904-04-04 04:04:04'
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string < "dddd" and
|
|
vstring < "dddd" and
|
|
bin < 0xDDDD and
|
|
vbin < 0xDDDD and
|
|
tiny > -4 and
|
|
short > -4 and
|
|
medium > -4 and
|
|
long_int > -4 and
|
|
longlong > -4 and
|
|
real_float < 4.4 and
|
|
real_double < 4.4 and
|
|
real_decimal < 4.4 and
|
|
utiny < 4 and
|
|
ushort < 4 and
|
|
umedium < 4 and
|
|
ulong < 4 and
|
|
ulonglong < 4 and
|
|
/* bits < b'100' and */
|
|
(options = 'one' or options = 'two' or options = 'three') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
|
|
date_field < '1904-01-01' and
|
|
year_field < '1904' and
|
|
time_field < '04:04:04' and
|
|
date_time < '1904-04-04 04:04:04'
|
|
order by auto;
|
|
auto
|
|
1
|
|
2
|
|
3
|
|
explain
|
|
select auto from t1 where
|
|
string <= "dddd" and
|
|
vstring <= "dddd" and
|
|
bin <= 0xDDDD and
|
|
vbin <= 0xDDDD and
|
|
tiny >= -4 and
|
|
short >= -4 and
|
|
medium >= -4 and
|
|
long_int >= -4 and
|
|
longlong >= -4 and
|
|
real_float <= 4.5 and
|
|
real_double <= 4.5 and
|
|
real_decimal <= 4.5 and
|
|
utiny <= 4 - 1 + 1 and /* Checking function composition */
|
|
ushort <= 4 and
|
|
umedium <= 4 and
|
|
ulong <= 4 and
|
|
ulonglong <= 4 and
|
|
/* bits <= b'100' and */
|
|
(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field <= '1904-04-04' and
|
|
year_field <= '1904' and
|
|
time_field <= '04:04:04' and
|
|
date_time <= '1904-04-04 04:04:04'
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string <= "dddd" and
|
|
vstring <= "dddd" and
|
|
bin <= 0xDDDD and
|
|
vbin <= 0xDDDD and
|
|
tiny >= -4 and
|
|
short >= -4 and
|
|
medium >= -4 and
|
|
long_int >= -4 and
|
|
longlong >= -4 and
|
|
real_float <= 4.5 and
|
|
real_double <= 4.5 and
|
|
real_decimal <= 4.5 and
|
|
utiny <= 4 - 1 + 1 and /* Checking function composition */
|
|
ushort <= 4 and
|
|
umedium <= 4 and
|
|
ulong <= 4 and
|
|
ulonglong <= 4 and
|
|
/* bits <= b'100' and */
|
|
(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
|
|
(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
|
|
date_field <= '1904-04-04' and
|
|
year_field <= '1904' and
|
|
time_field <= '04:04:04' and
|
|
date_time <= '1904-04-04 04:04:04'
|
|
order by auto;
|
|
auto
|
|
1
|
|
2
|
|
3
|
|
4
|
|
explain
|
|
select auto from t1 where
|
|
string like "b%" and
|
|
vstring like "b%" and
|
|
bin like concat(0xBB, '%') and
|
|
vbin like concat(0xBB, '%')
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string like "b%" and
|
|
vstring like "b%" and
|
|
bin like concat(0xBB, '%') and
|
|
vbin like concat(0xBB, '%')
|
|
order by auto;
|
|
auto
|
|
2
|
|
explain
|
|
select auto from t1 where
|
|
string not like "b%" and
|
|
vstring not like "b%" and
|
|
bin not like concat(0xBB, '%') and
|
|
vbin not like concat(0xBB, '%')
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string not like "b%" and
|
|
vstring not like "b%" and
|
|
bin not like concat(0xBB, '%') and
|
|
vbin not like concat(0xBB, '%')
|
|
order by auto;
|
|
auto
|
|
1
|
|
3
|
|
4
|
|
explain
|
|
select auto from t1 where
|
|
(string between "aaaa" and "cccc") and
|
|
(vstring between "aaaa" and "cccc") and
|
|
(bin between 0xAAAA and 0xCCCC) and
|
|
(vbin between 0xAAAA and 0xCCCC) and
|
|
(tiny between -3 and -1) and
|
|
(short between -3 and -1) and
|
|
(medium between -3 and -1) and
|
|
(long_int between -3 and -1) and
|
|
(longlong between -3 and -1) and
|
|
(utiny between 1 and 3) and
|
|
(ushort between 1 and 3) and
|
|
(umedium between 1 and 3) and
|
|
(ulong between 1 and 3) and
|
|
(ulonglong between 1 and 3) and
|
|
/* (bits between b'001' and b'011') and */
|
|
(options between 'one' and 'three') and
|
|
(flags between 'one' and 'one,two,three') and
|
|
(date_field between '1901-01-01' and '1903-03-03') and
|
|
(year_field between '1901' and '1903') and
|
|
(time_field between '01:01:01' and '03:03:03') and
|
|
(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
(string between "aaaa" and "cccc") and
|
|
(vstring between "aaaa" and "cccc") and
|
|
(bin between 0xAAAA and 0xCCCC) and
|
|
(vbin between 0xAAAA and 0xCCCC) and
|
|
(tiny between -3 and -1) and
|
|
(short between -3 and -1) and
|
|
(medium between -3 and -1) and
|
|
(long_int between -3 and -1) and
|
|
(longlong between -3 and -1) and
|
|
(utiny between 1 and 3) and
|
|
(ushort between 1 and 3) and
|
|
(umedium between 1 and 3) and
|
|
(ulong between 1 and 3) and
|
|
(ulonglong between 1 and 3) and
|
|
/* (bits between b'001' and b'011') and */
|
|
(options between 'one' and 'three') and
|
|
(flags between 'one' and 'one,two,three') and
|
|
(date_field between '1901-01-01' and '1903-03-03') and
|
|
(year_field between '1901' and '1903') and
|
|
(time_field between '01:01:01' and '03:03:03') and
|
|
(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
|
|
order by auto;
|
|
auto
|
|
1
|
|
3
|
|
explain
|
|
select auto from t1 where
|
|
("aaaa" between string and string) and
|
|
("aaaa" between vstring and vstring) and
|
|
(0xAAAA between bin and bin) and
|
|
(0xAAAA between vbin and vbin) and
|
|
(-1 between tiny and tiny) and
|
|
(-1 between short and short) and
|
|
(-1 between medium and medium) and
|
|
(-1 between long_int and long_int) and
|
|
(-1 between longlong and longlong) and
|
|
(1 between utiny and utiny) and
|
|
(1 between ushort and ushort) and
|
|
(1 between umedium and umedium) and
|
|
(1 between ulong and ulong) and
|
|
(1 between ulonglong and ulonglong) and
|
|
/* (b'001' between bits and bits) and */
|
|
('one' between options and options) and
|
|
('one' between flags and flags) and
|
|
('1901-01-01' between date_field and date_field) and
|
|
('1901' between year_field and year_field) and
|
|
('01:01:01' between time_field and time_field) and
|
|
('1901-01-01 01:01:01' between date_time and date_time)
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
("aaaa" between string and string) and
|
|
("aaaa" between vstring and vstring) and
|
|
(0xAAAA between bin and bin) and
|
|
(0xAAAA between vbin and vbin) and
|
|
(-1 between tiny and tiny) and
|
|
(-1 between short and short) and
|
|
(-1 between medium and medium) and
|
|
(-1 between long_int and long_int) and
|
|
(-1 between longlong and longlong) and
|
|
(1 between utiny and utiny) and
|
|
(1 between ushort and ushort) and
|
|
(1 between umedium and umedium) and
|
|
(1 between ulong and ulong) and
|
|
(1 between ulonglong and ulonglong) and
|
|
/* (b'001' between bits and bits) and */
|
|
('one' between options and options) and
|
|
('one' between flags and flags) and
|
|
('1901-01-01' between date_field and date_field) and
|
|
('1901' between year_field and year_field) and
|
|
('01:01:01' between time_field and time_field) and
|
|
('1901-01-01 01:01:01' between date_time and date_time)
|
|
order by auto;
|
|
auto
|
|
1
|
|
explain
|
|
select auto from t1 where
|
|
(string not between "aaaa" and "cccc") and
|
|
(vstring not between "aaaa" and "cccc") and
|
|
(bin not between 0xAAAA and 0xCCCC) and
|
|
(vbin not between 0xAAAA and 0xCCCC) and
|
|
(tiny not between -3 and -1) and
|
|
(short not between -3 and -1) and
|
|
(medium not between -3 and -1) and
|
|
(long_int not between -3 and -1) and
|
|
(longlong not between -3 and -1) and
|
|
(utiny not between 1 and 3) and
|
|
(ushort not between 1 and 3) and
|
|
(umedium not between 1 and 3) and
|
|
(ulong not between 1 and 3) and
|
|
(ulonglong not between 1 and 3) and
|
|
/* (bits not between b'001' and b'011') and */
|
|
(options not between 'one' and 'three') and
|
|
(flags not between 'one' and 'one,two,three') and
|
|
(date_field not between '1901-01-01' and '1903-03-03') and
|
|
(year_field not between '1901' and '1903') and
|
|
(time_field not between '01:01:01' and '03:03:03') and
|
|
(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
(string not between "aaaa" and "cccc") and
|
|
(vstring not between "aaaa" and "cccc") and
|
|
(bin not between 0xAAAA and 0xCCCC) and
|
|
(vbin not between 0xAAAA and 0xCCCC) and
|
|
(tiny not between -3 and -1) and
|
|
(short not between -3 and -1) and
|
|
(medium not between -3 and -1) and
|
|
(long_int not between -3 and -1) and
|
|
(longlong not between -3 and -1) and
|
|
(utiny not between 1 and 3) and
|
|
(ushort not between 1 and 3) and
|
|
(umedium not between 1 and 3) and
|
|
(ulong not between 1 and 3) and
|
|
(ulonglong not between 1 and 3) and
|
|
/* (bits not between b'001' and b'011') and */
|
|
(options not between 'one' and 'three') and
|
|
(flags not between 'one' and 'one,two,three') and
|
|
(date_field not between '1901-01-01' and '1903-03-03') and
|
|
(year_field not between '1901' and '1903') and
|
|
(time_field not between '01:01:01' and '03:03:03') and
|
|
(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
|
|
order by auto;
|
|
auto
|
|
4
|
|
explain
|
|
select auto from t1 where
|
|
("aaaa" not between string and string) and
|
|
("aaaa" not between vstring and vstring) and
|
|
(0xAAAA not between bin and bin) and
|
|
(0xAAAA not between vbin and vbin) and
|
|
(-1 not between tiny and tiny) and
|
|
(-1 not between short and short) and
|
|
(-1 not between medium and medium) and
|
|
(-1 not between long_int and long_int) and
|
|
(-1 not between longlong and longlong) and
|
|
(1 not between utiny and utiny) and
|
|
(1 not between ushort and ushort) and
|
|
(1 not between umedium and umedium) and
|
|
(1 not between ulong and ulong) and
|
|
(1 not between ulonglong and ulonglong) and
|
|
/* (b'001' not between bits and bits) and */
|
|
('one' not between options and options) and
|
|
('one' not between flags and flags) and
|
|
('1901-01-01' not between date_field and date_field) and
|
|
('1901' not between year_field and year_field) and
|
|
('01:01:01' not between time_field and time_field) and
|
|
('1901-01-01 01:01:01' not between date_time and date_time)
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
("aaaa" not between string and string) and
|
|
("aaaa" not between vstring and vstring) and
|
|
(0xAAAA not between bin and bin) and
|
|
(0xAAAA not between vbin and vbin) and
|
|
(-1 not between tiny and tiny) and
|
|
(-1 not between short and short) and
|
|
(-1 not between medium and medium) and
|
|
(-1 not between long_int and long_int) and
|
|
(-1 not between longlong and longlong) and
|
|
(1 not between utiny and utiny) and
|
|
(1 not between ushort and ushort) and
|
|
(1 not between umedium and umedium) and
|
|
(1 not between ulong and ulong) and
|
|
(1 not between ulonglong and ulonglong) and
|
|
/* (b'001' not between bits and bits) and */
|
|
('one' not between options and options) and
|
|
('one' not between flags and flags) and
|
|
('1901-01-01' not between date_field and date_field) and
|
|
('1901' not between year_field and year_field) and
|
|
('01:01:01' not between time_field and time_field) and
|
|
('1901-01-01 01:01:01' not between date_time and date_time)
|
|
order by auto;
|
|
auto
|
|
2
|
|
3
|
|
4
|
|
explain
|
|
select auto from t1 where
|
|
string in("aaaa","cccc") and
|
|
vstring in("aaaa","cccc") and
|
|
bin in(0xAAAA,0xCCCC) and
|
|
vbin in(0xAAAA,0xCCCC) and
|
|
tiny in(-1,-3) and
|
|
short in(-1,-3) and
|
|
medium in(-1,-3) and
|
|
long_int in(-1,-3) and
|
|
longlong in(-1,-3) and
|
|
utiny in(1,3) and
|
|
ushort in(1,3) and
|
|
umedium in(1,3) and
|
|
ulong in(1,3) and
|
|
ulonglong in(1,3) and
|
|
/* bits in(b'001',b'011') and */
|
|
options in('one','three') and
|
|
flags in('one','one,two,three') and
|
|
date_field in('1901-01-01','1903-03-03') and
|
|
year_field in('1901','1903') and
|
|
time_field in('01:01:01','03:03:03') and
|
|
date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string in("aaaa","cccc") and
|
|
vstring in("aaaa","cccc") and
|
|
bin in(0xAAAA,0xCCCC) and
|
|
vbin in(0xAAAA,0xCCCC) and
|
|
tiny in(-1,-3) and
|
|
short in(-1,-3) and
|
|
medium in(-1,-3) and
|
|
long_int in(-1,-3) and
|
|
longlong in(-1,-3) and
|
|
utiny in(1,3) and
|
|
ushort in(1,3) and
|
|
umedium in(1,3) and
|
|
ulong in(1,3) and
|
|
ulonglong in(1,3) and
|
|
/* bits in(b'001',b'011') and */
|
|
options in('one','three') and
|
|
flags in('one','one,two,three') and
|
|
date_field in('1901-01-01','1903-03-03') and
|
|
year_field in('1901','1903') and
|
|
time_field in('01:01:01','03:03:03') and
|
|
date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
|
|
order by auto;
|
|
auto
|
|
1
|
|
3
|
|
explain
|
|
select auto from t1 where
|
|
"aaaa" in(string) and
|
|
"aaaa" in(vstring) and
|
|
0xAAAA in(bin) and
|
|
0xAAAA in(vbin) and
|
|
(-1 in(tiny)) and
|
|
(-1 in (short)) and
|
|
(-1 in(medium)) and
|
|
(-1 in(long_int)) and
|
|
(-1 in(longlong)) and
|
|
1 in(utiny) and
|
|
1 in(ushort) and
|
|
1 in(umedium) and
|
|
1 in(ulong) and
|
|
1 in(ulonglong) and
|
|
/* b'001' in(bits) and */
|
|
'one' in(options) and
|
|
'one' in(flags) and
|
|
'1901-01-01' in(date_field) and
|
|
'1901' in(year_field) and
|
|
'01:01:01' in(time_field) and
|
|
'1901-01-01 01:01:01' in(date_time)
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ref medium_index medium_index 3 const # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
"aaaa" in(string) and
|
|
"aaaa" in(vstring) and
|
|
0xAAAA in(bin) and
|
|
0xAAAA in(vbin) and
|
|
(-1 in(tiny)) and
|
|
(-1 in (short)) and
|
|
(-1 in(medium)) and
|
|
(-1 in(long_int)) and
|
|
(-1 in(longlong)) and
|
|
1 in(utiny) and
|
|
1 in(ushort) and
|
|
1 in(umedium) and
|
|
1 in(ulong) and
|
|
1 in(ulonglong) and
|
|
/* b'001' in(bits) and */
|
|
'one' in(options) and
|
|
'one' in(flags) and
|
|
'1901-01-01' in(date_field) and
|
|
'1901' in(year_field) and
|
|
'01:01:01' in(time_field) and
|
|
'1901-01-01 01:01:01' in(date_time)
|
|
order by auto;
|
|
auto
|
|
1
|
|
explain
|
|
select auto from t1 where
|
|
string not in("aaaa","cccc") and
|
|
vstring not in("aaaa","cccc") and
|
|
bin not in(0xAAAA,0xCCCC) and
|
|
vbin not in(0xAAAA,0xCCCC) and
|
|
tiny not in(-1,-3) and
|
|
short not in(-1,-3) and
|
|
medium not in(-1,-3) and
|
|
long_int not in(-1,-3) and
|
|
longlong not in(-1,-3) and
|
|
utiny not in(1,3) and
|
|
ushort not in(1,3) and
|
|
umedium not in(1,3) and
|
|
ulong not in(1,3) and
|
|
ulonglong not in(1,3) and
|
|
/* bits not in(b'001',b'011') and */
|
|
options not in('one','three') and
|
|
flags not in('one','one,two,three') and
|
|
date_field not in('1901-01-01','1903-03-03') and
|
|
year_field not in('1901','1903') and
|
|
time_field not in('01:01:01','03:03:03') and
|
|
date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
string not in("aaaa","cccc") and
|
|
vstring not in("aaaa","cccc") and
|
|
bin not in(0xAAAA,0xCCCC) and
|
|
vbin not in(0xAAAA,0xCCCC) and
|
|
tiny not in(-1,-3) and
|
|
short not in(-1,-3) and
|
|
medium not in(-1,-3) and
|
|
long_int not in(-1,-3) and
|
|
longlong not in(-1,-3) and
|
|
utiny not in(1,3) and
|
|
ushort not in(1,3) and
|
|
umedium not in(1,3) and
|
|
ulong not in(1,3) and
|
|
ulonglong not in(1,3) and
|
|
/* bits not in(b'001',b'011') and */
|
|
options not in('one','three') and
|
|
flags not in('one','one,two,three') and
|
|
date_field not in('1901-01-01','1903-03-03') and
|
|
year_field not in('1901','1903') and
|
|
time_field not in('01:01:01','03:03:03') and
|
|
date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
|
|
order by auto;
|
|
auto
|
|
2
|
|
4
|
|
explain
|
|
select auto from t1 where
|
|
"aaaa" not in(string) and
|
|
"aaaa" not in(vstring) and
|
|
0xAAAA not in(bin) and
|
|
0xAAAA not in(vbin) and
|
|
(-1 not in(tiny)) and
|
|
(-1 not in(short)) and
|
|
(-1 not in(medium)) and
|
|
(-1 not in(long_int)) and
|
|
(-1 not in(longlong)) and
|
|
1 not in(utiny) and
|
|
1 not in(ushort) and
|
|
1 not in(umedium) and
|
|
1 not in(ulong) and
|
|
1 not in(ulonglong) and
|
|
/* b'001' not in(bits) and */
|
|
'one' not in(options) and
|
|
'one' not in(flags) and
|
|
'1901-01-01' not in(date_field) and
|
|
'1901' not in(year_field) and
|
|
'01:01:01' not in(time_field) and
|
|
'1901-01-01 01:01:01' not in(date_time)
|
|
order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
|
|
select auto from t1 where
|
|
"aaaa" not in(string) and
|
|
"aaaa" not in(vstring) and
|
|
0xAAAA not in(bin) and
|
|
0xAAAA not in(vbin) and
|
|
(-1 not in(tiny)) and
|
|
(-1 not in(short)) and
|
|
(-1 not in(medium)) and
|
|
(-1 not in(long_int)) and
|
|
(-1 not in(longlong)) and
|
|
1 not in(utiny) and
|
|
1 not in(ushort) and
|
|
1 not in(umedium) and
|
|
1 not in(ulong) and
|
|
1 not in(ulonglong) and
|
|
/* b'001' not in(bits) and */
|
|
'one' not in(options) and
|
|
'one' not in(flags) and
|
|
'1901-01-01' not in(date_field) and
|
|
'1901' not in(year_field) and
|
|
'01:01:01' not in(time_field) and
|
|
'1901-01-01 01:01:01' not in(date_time)
|
|
order by auto;
|
|
auto
|
|
2
|
|
3
|
|
4
|
|
update t1
|
|
set medium = 17
|
|
where
|
|
string = "aaaa" and
|
|
vstring = "aaaa" and
|
|
bin = 0xAAAA and
|
|
vbin = 0xAAAA and
|
|
tiny = -1 and
|
|
short = -1 and
|
|
medium = -1 and
|
|
long_int = -1 and
|
|
longlong = -1 and
|
|
real_float > 1.0 and real_float < 2.0 and
|
|
real_double > 1.0 and real_double < 2.0 and
|
|
real_decimal > 1.0 and real_decimal < 2.0 and
|
|
utiny = 1 and
|
|
ushort = 1 and
|
|
umedium = 1 and
|
|
ulong = 1 and
|
|
ulonglong = 1 and
|
|
/* bits = b'001' and */
|
|
options = 'one' and
|
|
flags = 'one' and
|
|
date_field = '1901-01-01' and
|
|
year_field = '1901' and
|
|
time_field = '01:01:01' and
|
|
date_time = '1901-01-01 01:01:01';
|
|
delete from t1
|
|
where
|
|
string = "aaaa" and
|
|
vstring = "aaaa" and
|
|
bin = 0xAAAA and
|
|
vbin = 0xAAAA and
|
|
tiny = -1 and
|
|
short = -1 and
|
|
medium = 17 and
|
|
long_int = -1 and
|
|
longlong = -1 and
|
|
real_float > 1.0 and real_float < 2.0 and
|
|
real_double > 1.0 and real_double < 2.0 and
|
|
real_decimal > 1.0 and real_decimal < 2.0 and
|
|
utiny = 1 and
|
|
ushort = 1 and
|
|
umedium = 1 and
|
|
ulong = 1 and
|
|
ulonglong = 1 and
|
|
/* bits = b'001' and */
|
|
options = 'one' and
|
|
flags = 'one' and
|
|
date_field = '1901-01-01' and
|
|
year_field = '1901' and
|
|
time_field = '01:01:01' and
|
|
date_time = '1901-01-01 01:01:01';
|
|
select count(*) from t1;
|
|
count(*)
|
|
3
|
|
explain
|
|
select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t2 ALL PRIMARY NULL NULL NULL # Using where with pushed condition; Using filesort
|
|
select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
|
|
pk1 attr1 attr2 attr3
|
|
2 2 NULL NULL
|
|
3 3 3 d
|
|
explain
|
|
select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t2 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
|
|
select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
|
|
pk1 attr1 attr2 attr3
|
|
3 3 3 d
|
|
4 4 4 e
|
|
5 5 5 f
|
|
explain
|
|
select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t3 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
|
|
select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
|
|
pk1 attr1 attr2 attr3 attr4
|
|
2 2 9223372036854775804 2 c
|
|
4 4 9223372036854775806 4 e
|
|
5 5 9223372036854775807 5 f
|
|
explain
|
|
select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t2 ALL NULL NULL NULL NULL # Using where with pushed condition; Using temporary; Using filesort
|
|
1 SIMPLE t3 ALL NULL NULL NULL NULL # Using where with pushed condition; Using join buffer
|
|
select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
|
|
pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3 attr4
|
|
0 0 0 a 0 0 0 0 a
|
|
explain
|
|
select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t4 range attr1 attr1 4 NULL # Using where with pushed condition; Using filesort
|
|
select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
|
|
pk1 attr1 attr2 attr3 attr4
|
|
2 2 9223372036854775804 2 c
|
|
4 4 9223372036854775806 4 e
|
|
explain
|
|
select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t4 range attr1 attr1 4 NULL # Using where with pushed condition; Using temporary; Using filesort
|
|
1 SIMPLE t3 ALL NULL NULL NULL NULL # Using where; Using join buffer
|
|
select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
|
|
pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4
|
|
2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c
|
|
3 3 9223372036854775805 3 d 3 3 9223372036854775805 3 d
|
|
4 4 9223372036854775806 4 e 4 4 9223372036854775806 4 e
|
|
explain
|
|
select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where; Using filesort
|
|
explain
|
|
select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t2 ALL NULL NULL NULL NULL # Using where; Using filesort
|
|
explain
|
|
select * from t3 left join t4 on t4.attr2 = t3.attr2 where t4.attr1 > 1 and t4.attr3 < 5 or t4.attr1 is null order by t4.pk1;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t3 ALL NULL NULL NULL NULL # Using temporary; Using filesort
|
|
1 SIMPLE t4 ALL NULL NULL NULL NULL # Using where
|
|
create table t5 (a int primary key auto_increment, b tinytext not null)
|
|
engine = ndb;
|
|
insert into t5 (b) values ('jonas'), ('jensing'), ('johan');
|
|
set engine_condition_pushdown = off;
|
|
select * from t5 where b like '%jo%' order by a;
|
|
a b
|
|
1 jonas
|
|
3 johan
|
|
set engine_condition_pushdown = on;
|
|
explain select * from t5 where b like '%jo%';
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t5 ALL NULL NULL NULL NULL # Using where
|
|
select * from t5 where b like '%jo%' order by a;
|
|
a b
|
|
1 jonas
|
|
3 johan
|
|
set engine_condition_pushdown = off;
|
|
select auto from t1 where date_time like '1902-02-02 %' order by auto;
|
|
auto
|
|
2
|
|
select auto from t1 where date_time not like '1902-02-02 %' order by auto;
|
|
auto
|
|
3
|
|
4
|
|
set engine_condition_pushdown = on;
|
|
explain select auto from t1 where date_time like '1902-02-02 %';
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where
|
|
select auto from t1 where date_time like '1902-02-02 %' order by auto;
|
|
auto
|
|
2
|
|
explain select auto from t1 where date_time not like '1902-02-02 %';
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where
|
|
select auto from t1 where date_time not like '1902-02-02 %' order by auto;
|
|
auto
|
|
3
|
|
4
|
|
drop table t1;
|
|
create table t1 (a int, b varchar(3), primary key using hash(a))
|
|
engine=ndb;
|
|
insert into t1 values (1,'a'), (2,'ab'), (3,'abc');
|
|
set engine_condition_pushdown = off;
|
|
select * from t1 where b like 'ab';
|
|
a b
|
|
2 ab
|
|
select * from t1 where b like 'ab' or b like 'ab';
|
|
a b
|
|
2 ab
|
|
select * from t1 where b like 'abc';
|
|
a b
|
|
3 abc
|
|
select * from t1 where b like 'abc' or b like 'abc';
|
|
a b
|
|
3 abc
|
|
set engine_condition_pushdown = on;
|
|
select * from t1 where b like 'ab';
|
|
a b
|
|
2 ab
|
|
select * from t1 where b like 'ab' or b like 'ab';
|
|
a b
|
|
2 ab
|
|
select * from t1 where b like 'abc';
|
|
a b
|
|
3 abc
|
|
select * from t1 where b like 'abc' or b like 'abc';
|
|
a b
|
|
3 abc
|
|
drop table t1;
|
|
create table t1 (a int, b char(3), primary key using hash(a))
|
|
engine=ndb;
|
|
insert into t1 values (1,'a'), (2,'ab'), (3,'abc');
|
|
set engine_condition_pushdown = off;
|
|
select * from t1 where b like 'ab';
|
|
a b
|
|
2 ab
|
|
select * from t1 where b like 'ab' or b like 'ab';
|
|
a b
|
|
2 ab
|
|
select * from t1 where b like 'abc';
|
|
a b
|
|
3 abc
|
|
select * from t1 where b like 'abc' or b like 'abc';
|
|
a b
|
|
3 abc
|
|
set engine_condition_pushdown = on;
|
|
select * from t1 where b like 'ab';
|
|
a b
|
|
2 ab
|
|
select * from t1 where b like 'ab' or b like 'ab';
|
|
a b
|
|
2 ab
|
|
select * from t1 where b like 'abc';
|
|
a b
|
|
3 abc
|
|
select * from t1 where b like 'abc' or b like 'abc';
|
|
a b
|
|
3 abc
|
|
drop table t1;
|
|
create table t1 ( fname varchar(255), lname varchar(255) )
|
|
engine=ndbcluster;
|
|
insert into t1 values ("Young","Foo");
|
|
set engine_condition_pushdown = 0;
|
|
SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
|
|
fname lname
|
|
Young Foo
|
|
set engine_condition_pushdown = 1;
|
|
SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
|
|
fname lname
|
|
Young Foo
|
|
insert into t1 values ("aaa", "aaa");
|
|
insert into t1 values ("bbb", "bbb");
|
|
insert into t1 values ("ccc", "ccc");
|
|
insert into t1 values ("ddd", "ddd");
|
|
set engine_condition_pushdown = 0;
|
|
SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
|
|
fname lname
|
|
Young Foo
|
|
set engine_condition_pushdown = 1;
|
|
SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
|
|
fname lname
|
|
Young Foo
|
|
set engine_condition_pushdown = @old_ecpd;
|
|
DROP TABLE t1,t2,t3,t4,t5;
|