Digamos que tengo una tabla llamada PEOPLE
que tiene 3 columnas ID, LastName, FirstName
, ninguna de estas columnas está indexada.
LastName
es más único, y FirstName
es menos único.¿Importa el orden de las cláusulas where en SQL
Si hago 2 búsquedas:
select * from PEOPLE where FirstName="F" and LastName="L"
select * from PEOPLE where LastName="L" and FirstName="F"
Mi creencia es que el segundo es más rápido porque el criterio más único (LastName
) es lo primero en la cláusula where
y registros conseguirá eliminado de manera más eficiente. No creo que el optimizador sea lo suficientemente inteligente como para optimizar el primer sql.
¿Es correcto mi entendimiento?
No, ese orden no importa: cualquier optimizador de consulta decente observará ** todas ** las cláusulas WHERE y descubrirá la forma más eficiente de satisfacer esa consulta –
¿Cuáles fueron sus observaciones cuando ejecutó estas dos afirmaciones? ¿Cómo se veían los planes de ejecución? –
¿Se refiere a un RDBMS específico? De hecho, hay diferencias. – Bjoern