Disons que j'ai une table appelée PEOPLE
ayant 3 colonnes ID, LastName, FirstName
, aucune de ces colonnes n'est indexée.
LastName
est plus unique et FirstName
est moins unique.
Si je fais 2 recherches:
select * from PEOPLE where FirstName="F" and LastName="L"
select * from PEOPLE where LastName="L" and FirstName="F"
Ma conviction est que le second est plus rapide car le critère le plus unique ( LastName
) vient en premier dans la where
clause, et les enregistrements seront éliminés plus efficacement. Je ne pense pas que l'optimiseur soit assez intelligent pour optimiser le premier sql.
Ma compréhension est-elle correcte?