添加'或#39;后,MySql性能变慢在where子句中

时间:2014-07-02 17:44:48

标签: mysql performance

当过滤条件为

时,我的查询运行 7秒
select * from table where date1 is  null

但是当我添加

select * from table where (date1 is  null or (date1 < date2) )

然后查询需要 32秒。如何提高此查询的性能?我在两个日期列上都有索引。

1 个答案:

答案 0 :(得分:0)

您正在强制SQL首先比较2个日期,然后才能评估剩余的条件。

你应该通过写它来看到改进:

select * from table where date1 is null or date1 < date2

这将有助于更快地达到分辨率,因为条件在满足第一个条件时才会成立。