我的查询需要在计算值上使用where语句:
select * from table where date( timestamp ) = ?
对此查询的解释会产生预期的ALL选择类型,这是不理想的。使用MySQL,优化它的最佳方法是什么?
答案 0 :(得分:3)
另一种选择可能是重写查询,使计算全部在等式的另一侧完成。例如:
timestamp >= <some date> AND timestamp < <some date + 1>
在此查询中,“某个日期”将是该日期的午夜。
答案 1 :(得分:1)
select * from table where timestamp = UNIX_TIMESTAMP('?');