在MySQL中,有一些语句即使逻辑相同,执行起来的性能差异确实极大的。
先抛出一个结论:如果想使用索引树搜索功能,就不能使用数据库函数来处理索引字段值,而是在不改变索引字段值的同时,自己通过SQL语句来实现逻辑
条件字段函数操作
假设我们现在维护了一张系统交易表:
mysql> CREATE TABLE`tradelog` (
`id`int(11) NOT NULL,
`tradeid`varchar(32) DEFAULT NULL,
`operator`int(11) DEFAULT NULL,
`t_modified`datetime DEFAULT NULL,PRIMARY KEY(`id`),KEY`tradeid` (`tradeid`),KEY`t_modified` (`t_modified`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
我们在表中插入5条测试数据:
insert into tradelog (id,tradeid,t_modified) values(1,'a','2017-03-15');insert into tradelog (id,tradeid,t_modified) values(2,'b','2017-06-11');insert into tradelog (id,tradeid,t_modified) values(3,'c','2017-07-03');insert into tradelog (id,tradeid,t_mo