SQL Server: UNION Vs OR
Si andamos buscando mejorar la performance de nuestras queries.
Una de las cosas que más empobrece el query plan es utilizar una query del tipo:
1 2 3 |
SELECT FROM dbo.Table A WHERE columX = 1 OR columnX = 2 |
Es muchísimo más eficiente si transformamos la query en:
1 2 3 4 5 6 7 |
SELECT FROM dbo.Table A WHERE columX = 1 UNION SELECT FROM dbo.Table A WHERE columX = 2 |
Esto se debe a que si partimos la query en dos, el predicado en cada una de las partes será mucho más selectivo y tendrá más opciones de utilizar index seeks en lugar de scans.
Espero que os sirva,
El Amigo Informático.