Frage

What happens if both values in an or statement are non-null?

Does mysql uses the left side every time or is there a possibility that mysql uses the right side?

SELECT * 
FROM posts p 
WHERE parent_id = ? OR id = ?
ORDER BY date 
DESC LIMIT 1
War es hilfreich?

Lösung

  1. If the values are null then the comparison with = will fail. Use IS instead.
  2. You can't really tell which condition will be executed first and how the DB handles the filtering. This is totally up to the optimizer at runtime.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top