对于查询:

WHERE NOW() >= date_from

AND NOW() <= date_to

复合索引(date_from,date_to)是无用的.

创建两个索引:(date_from)和(date_to)并让SQL优化器每次决定使用哪个索引.根据值和选择性,优化程序可以选择一个或另一个索引.或者都不是.没有简单的方法来创建将两个条件都考虑在内的索引.

(如果您可以将日期转换为纬度和经度,则可以使用空间索引来优化此类条件).

更新

我的错. (date_from,date_to,object_id)上的索引可以并且确实在某些情况下用于此查询.如果NOW()< = date_from的选择性足够高,则优化器选择使用此索引,而不是对表执行完全扫描或使用其他索引.这是因为它是覆盖索引,意味着不需要从表中提取数据,只需要从索引数据中读取数据. 次要说明(与性能无关,仅与查询的正确性有关).你的病情相当于:

WHERE CURRENT_DATE() >= date_from

AND ( CURRENT_DATE() + INTERVAL 1 DAY <= date_to

OR ( CURRENT_DATE() = NOW()

AND CURRENT_DATE() = date_to

)

)

你确定你想要那个或者你想要这个:

WHERE CURRENT_DATE() >= date_from

AND CURRENT_DATE() <= date_to

NOW()函数返回DATETIME,而CURRENT_DATE()返回DATE,没有时间部分.

mysql日期查询索引_mysql – 如何为这种查询索引两个日期列相关推荐

  1. mysql 回表查询优化_mysql:若何行使笼罩索引制止回表优化查询

    说到笼罩索引之前,先要领会它的数据结构:B+树. 先建个表演示(为了简朴,id按顺序建): id name 1 aa 3 kl 5 op 8 aa 10 kk 11 kl 14 jk 16 ml 17 ...

  2. mysql查看使用的索引_Mysql查看是否使用到索引

    mysql数据库创建索引优化之后,在查询时想看下是否使用到索引, 使用执行计划查看: mysql> explain  SELECT * FROM tb_user WHERE STATUS=1 l ...

  3. mysql范围查找性能_MYSQL(四)查询性能优化

    优化数据访问 1.是否向数据库请求了不需要的数据 解决方式: A. 查询后加limit B. Select后写需要的列而不是* 2. 是否扫描了额外的数据 数据库的访问方式速度由慢到快:全表扫描,索引 ...

  4. mysql按升序创建索引_Mysql中的降序索引底层实现

    什么是降序索引 大家可能对索引比较熟悉,而对降序索引比较陌生,事实上降序索引是索引的子集. 我们通常使用下面的语句来创建一个索引: 上面sql的意思是在t1表中,针对b,c,d三个字段创建一个联合索引 ...

  5. mysql 多表查询 优化_Mysql 多表联合查询效率分析及优化

    1. 多表连接类型 1. 笛卡尔积(交叉连接)在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用','  如: SELECT * FROM table1 CROSS JOI ...

  6. 查询排序_Mysql在排序和查询时不使用索引的情况

    1. 写在前头 这篇文章<Mysql是怎样运行的>,参考书中P123 - P125,它列举的就是在排序时不使用索引的情况,这让我回想起在面试的时候,被问到在查询时不使用索引的情况,所以我想 ...

  7. mysql多表 性能_Mysql 多表联合查询效率分析及优化

    1. 多表连接类型 1. 笛卡尔积(交叉连接)在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用','  如: SELECT*FROMtable1CROSSJOINtabl ...

  8. mysql 如何添加索引_MySQL如何创建一个好索引?创建索引的5条建议【宇哥带你玩转MySQL 索引篇(三)】...

    MySQL如何创建一个好索引?创建索引的5条建议 过滤效率高的放前面 对于一个多列索引,它的存储顺序是先按第一列进行比较,然后是第二列,第三列...这样.查询时,如果第一列能够排除的越多,那么后面列需 ...

  9. mysql 建表时建立索引_mysql 分享建表和索引的几点规范

    一. MySQL建表,字段需设置为非空,需设置字段默认值. 二. MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL. 三. MySQL建表,如果字段等价于外键,应在该字段加索引. ...

  10. mysql 隐式转换 索引_MySQL SQL优化之字符串索引隐式转换

    之前有用户很不解:SQL语句非常简单,就是select * from test_1 where user_id=1 这种类型,而且user_id上已经建立索引了,怎么还是查询很慢? test_1的表结 ...

最新文章

  1. POJ3277 线段树段更新,点询问+二分离散化+暴力
  2. 洛谷——P3807 【模板】卢卡斯定理
  3. 初学者如何选出最适合自己深度学习框架?
  4. KEILC51警告:WARNING L15: MULTIPLE CALL TO SEGMENT
  5. 【C++】Visual studio样式定制
  6. TP、PHP同域不同子级域名共享Session、单点登录
  7. archlinux安装个简单桌面icewm
  8. C ~ 指针函数与函数指针的区别
  9. 核方法(kernel method)的主要思想
  10. LogBack 日志等级设置无效,原因竟然是因为这个?!
  11. 【工具】Movielens数据集详细介绍
  12. word转PDF,导航窗格输出目录
  13. 怎样给word插入页码,点击进来有惊喜
  14. 一文搞定卷积神经网络——从原理到应用
  15. 概率论考点之排列与组合
  16. linaro软件源更新问题
  17. ip rule 命令
  18. 华三模拟器的错误使用方法
  19. 《PyQT5软件开发 - 控件篇》第3章 单行文本框QLineEdit
  20. 内网IT风险管控解决方案

热门文章

  1. win10计算机到桌面显示器,win10电脑外接显示器设置
  2. Delphi XE E2251 Ambiguous overloaded call to ‘StrPas‘错误处理
  3. word文档插入尾注,并且设置尾注在参考文献这一章
  4. 中国土地市场网lanchina.com数据采集过程
  5. 数据库工程师的几个发展方向
  6. Linux部署单体架构,从单体式架构迁移到微服务架构:三个策略叙述
  7. amd cpu排行_AMD R5系列处理器性能排名 CPU天梯图2017年4月最新完整版
  8. 图神经网络-图游走类模型-作业
  9. HTML基本知识学习 2021-04-08
  10. 新手gxf学python---文件操作之登录、注册功能