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;

索引

mysql时间字段索引失效 mysql时间索引的使用_mysql时间字段索引失效

批量插入数据

两个时间函数测试

1、DATE_FORMAT

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

mysql时间字段索引失效 mysql时间索引的使用_html_02

 未使用日期索引

 

2、str_to_date

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

 

mysql时间字段索引失效 mysql时间索引的使用_mysql时间字段索引失效_03

 

 使用到索引