有关sql语句使用索引优化的问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

有关sql语句使用索引优化的问题

落地花开啦 2016-02-21 17:46:54 1237

现在要对数据库中的数据进行统计,统计最近一个月的数据,现数据库的设计中有3个跟时间有关的字段
1.year
2.month
3.day
三个字段分别建有索引
现在统计最近一个月的数据需要将上述三个字段使用concat连接起来合并成一个完整的时间做条件进行查询,可是问题来了,使用concat函数后索引将失效,这个SQL该如何优化才能够让其执行索引查询.sql如下:
1
这个sql该如何优化才能让你索引生效,使用索引策略查询呢?求指点

SQL 数据库 索引
分享到
取消 提交回答
全部回答(2)
  • yu_hc200
    2019-07-17 18:46:13

    实际上需求转化一下,就是年份确定,月份确定,所以你只需要写 year=? and month=?就可。年份和月份需要你用当前日期解析出来

    0 0
  • 落地花开啦
    2019-07-17 18:46:13

    这个怎么也用不到索引的,DBMS压根没有为year-month-day类型的数据维持索引数据。为什么不使用联合查询,将日期拆分得到年月日,然后再:
    select #_filed from #_table where year=#_year and #_month = #_month and day = #_day
    这样就可以使用索引。

    0 0
添加回答
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程