sql 索引问题-where字段索引

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 索引问题-where字段索引相关的知识,希望对你有一定的参考价值。

假如有一个表TableTest,已为CREATE_TIME字段设置索引,取值如‘2017-11-12 21:52:49‘。

那么

(1)

sql写法:DATE_FORMAT(CREATE_TIME,‘%Y-%m-%d‘)>= ‘2017-11-14‘

结果:不会使用索引: 

(2)

sql写法:CREATE_TIME <=  ‘2017-11-14 23:59:59‘

结果:会使用索引:

 

因为数据库做的索引都是用原始数据,如果sql语句做了处理,那这个就已经是新的一个数据了(临时数据),数据库并没有建立索引,也就无法用到。

本文出自 “ydhome” 博客,请务必保留此出处http://ydhome.blog.51cto.com/8948432/1981789

以上是关于sql 索引问题-where字段索引的主要内容,如果未能解决你的问题,请参考以下文章

sql语句中where后边的哪些条件会使索引失效 -- SQL语句优化

SQL 索引是针对select的还是针对where的

sql关于索引的优化部分

mysql联合索引字段顺序

SQL语句的效率问题

索引优化原则及Oracle中索引总结