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');

 

 

 使用到索引


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM