我对此查询有疑问,此查询的复杂性不好,我长期以来一直使用此查询,现在此数据库有很多行可以通过此方法进行选择。所有索引正确地添加。我搜索其他方法以按日期比较优化此查询,因为这是此解决方案的瓶颈。

SELECT (...) FROM table
WHERE (YEAR(row_add_date) * 10000 +
       MONTH(row_add_date) * 100 +
       DAYOFMONTH(row_add_date)) >= (var_0 * 10000 + var_1 * 100 + var_2) and
      (YEAR(row_add_date) * 10000 +
       MONTH(row_add_date) * 100 +
       DAYOFMONTH(row_add_date)) <= (var_3 * 10000 + var_4 * 100 + var_5)


谁能帮我?
问候

最佳答案

我建议使用内置的mysql日期比较。

row_add_date <= '20101027' and row_add_date >= '20101027'


但是请注意,这首先是一个奇怪的测试:不仅仅是测试日期等于10月27日,就像这样:

row_add_date = '20101027'

10-05 20:02