我对这个查询有问题,这个查询的复杂性不好,我使用这个查询很长时间了,现在这个数据库有很多行可以通过这个方法进行选择。所有索引都已正确添加。我搜索了一些其他方法来通过日期比较优化此查询,因为这是此解决方案中的瓶颈。
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'
关于sql - 如何在 SQL 中使用更好的日期比较来优化此查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4034485/