1.建表
CREATE TABLE abc
(
id
int(11) NOT NULL AUTO_INCREMENT,
a
int(11) DEFAULT NULL,
b
int(11) DEFAULT NULL,
c
int(11) DEFAULT NULL,
d
varchar(255) CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY (id
),
KEY idx_a_b_c
(a
,b
,c
) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.插入10000条数据
for (int x = 0; x < 100000; x++) {
Abc abc = new Abc();
abc.setA(x);
abc.setB(x);
abc.setC(x);
abc.setD(x+””);
abcMapper.insert(abc);
}
3. 2021-04-27-09-36-3020210427093629
EXPLAIN select * from abc where a = 9876 and b = 9876 and c = 9876;
EXPLAIN select * from abc where a = 9876 and b = 9876 and d = ‘8’; 2021-04-27-09-38-0220210427093802
EXPLAIN select * from abc where a = 9876 and b >= 9876 and c = 99; 2021-04-27-09-38-5920210427093859
EXPLAIN select * from abc where a = 9876 and b > 9876 and c = 99; 2021-04-27-09-44-2020210427094419
EXPLAIN select * from abc where a = 9876 and b BETWEEN 9876 and 9999 and c = 99; 2021-04-27-09-39-3520210427093935
EXPLAIN select * from abc where a = 9876 and c = 99; 2021-04-27-09-41-3120210427094130
EXPLAIN select * from abc where b = 9876 and c = 99; 2021-04-27-09-42-1820210427094217
EXPLAIN select * from abc where a = 9876 and d = ‘99’; 2021-04-27-09-42-5620210427094255
EXPLAIN select * from abc where a = ‘9876’ and b = 9876 and c = 9876; 2021-04-27-09-48-2720210427094826
EXPLAIN select * from abc where a = 9876 and b >= 9876 and d = ‘99’; 2021-04-27-09-50-0920210427095008