Powiedzmy, że mam tabelę PEOPLE
o nazwie mająca 3 kolumny ID, LastName, FirstName
, żadna z tych kolumn nie jest indeksowana.
LastName
jest bardziej wyjątkowy i FirstName
mniej wyjątkowy.
Jeśli przeprowadzę 2 wyszukiwania:
select * from PEOPLE where FirstName="F" and LastName="L"
select * from PEOPLE where LastName="L" and FirstName="F"
Uważam, że to drugie jest szybsze, ponieważ bardziej unikalne kryterium ( LastName
) znajduje się na pierwszym miejscu w where
klauzuli, a rekordy będą eliminowane skuteczniej. Nie sądzę, aby optymalizator był wystarczająco inteligentny, aby zoptymalizować pierwszy plik sql.
Czy moje rozumienie jest prawidłowe?