mysql使用有效时间索引

借鉴自https://www.cnblogs.com/java-spring/p/12120974.html,劈天造陆大佬。

 

mysql建表

CREATE TABLE `t_test` (
  `id` int(20) NOT NULL AUTO_INCREMENT,
 
  `trade_date` varchar(20) DEFAULT NULL COMMENT'日期',
  PRIMARY KEY (`id`) USING BTREE,
    KEY `date` (`trade_date`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

索引

 

 

 

批量插入数据

两个时间函数测试

1、DATE_FORMAT

EXPLAIN SELECT * FROM t_test WHERE DATE_FORMAT(t_date,"%Y-%m-%d") >= '2021-12-30';

 

 未使用日期索引

 

2、str_to_date

EXPLAIN SELECT * FROM t_test WHERE t_date >= str_to_date('2021-12-30', '%Y-%m-%d');

 

 

 使用到索引

posted @ 2022-03-03 10:51  啄木鸟chens  阅读(2165)  评论(0编辑  收藏  举报