Pergunta

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
Foi útil?

Solução

  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.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top