Digamos que eu tenho uma tabela chamada PEOPLE
com 3 colunas ID, LastName, FirstName
, nenhuma dessas colunas é indexada.
LastName
é mais exclusivo e FirstName
é menos exclusivo.
Se eu fizer duas pesquisas:
select * from PEOPLE where FirstName="F" and LastName="L"
select * from PEOPLE where LastName="L" and FirstName="F"
Minha opinião é que o segundo é mais rápido, porque o critério mais exclusivo ( LastName
) vem em primeiro lugar na where
cláusula e os registros serão eliminados com mais eficiência. Eu não acho que o otimizador seja inteligente o suficiente para otimizar o primeiro sql.
Meu entendimento está correto?