1
我有用于7秒运行时过滤器标准是MySQL的性能减慢where子句
select * from table where date1 is null
AA查询之后加入“或”,但是当我添加
select * from table where (date1 is null or (date1 < date2))
则查询需要32秒。如何提高此查询的性能?我在两个日期列上都有索引。
我有用于7秒运行时过滤器标准是MySQL的性能减慢where子句
select * from table where date1 is null
AA查询之后加入“或”,但是当我添加
select * from table where (date1 is null or (date1 < date2))
则查询需要32秒。如何提高此查询的性能?我在两个日期列上都有索引。
您正在强制SQL先比较两个日期,然后才能评估其余条件。
你应该写这么见好转:
select * from table where date1 is null or date1 < date2
这将使更快速的解决素养,因为病情会是真实的瞬间满足第一条件。
这没有做出区别 – user1721546
您是否检查过两个查询的'EXPLAIN'的结果? – raina77ow
尝试使用'UNION',取下'OR'并将其放入另一个选择 –
是否为索引的字段? – Barranka