【问题标题】:MYSQL query to be optimized [duplicate]要优化的MYSQL查询[重复]
【发布时间】:2019-12-11 00:46:42
【问题描述】:

如果我有一个示例查询:

Select * from dept_emp where YEAR(from_date) = 2000 AND MONTH(from_date) = 4;

如何在不影响其正确性的情况下重写查询以提高效率,从而避免全表扫描?

【问题讨论】:

    标签: mysql query-optimization


    【解决方案1】:

    这样的事情最好在from_date上使用索引:

    SELECT * FROM dept_emp WHERE from_date BETWEEN '2000-04-01' AND '2000-04-30'
    

    【讨论】:

      【解决方案2】:

      在 where 子句中使用更少的函数。 不使用

      Year(from_date) = 2000
      

      您可以直接说明年份。这个月也一样。

      对 Where 子句中使用的列使用适当的索引。

      【讨论】:

      猜你喜欢
      • 2016-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多