MySQL 请问这两条语句谁更快一点

select * from qs_exam_info where TRANS_DATE LIKE '2018-08-18%'select * from qs_exam_info where date(TRANS_DATE) = '20180818'

数据库里面TRANS_DATE是按2018-10-16 00:14:17这样的格式存储的


慕少森
浏览 436回答 2
2回答

青春有我

如果 TRANS_DATE 为 varchar/char 类型,且该字段有索引,那么大部分情况下第一句比第二句更快如果 TRANS_DATE 为 timestamp/datetime 类型,两句都用不到索引,全表扫描,所以效率差不多

千巷猫影

不妨自己试试看结果,一般来说, %后置的like会走索引, 而对条件字段使用函数不走索引.没有索引的话, 对查询条件执行函数操作也会增加耗时.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL