Czy kolejność gdzie klauzule mają znaczenie w SQL?
Powiedzmy, że mam tabelę o nazwiePEOPLE
mające 3 kolumnyID, LastName, FirstName
, żadna z tych kolumn nie jest indeksowana.LastName
jest bardziej unikalny iFirstName
jest mniej wyjątkowy.
Jeśli wykonam 2 wyszukiwania:
select * from PEOPLE where FirstName="F" and LastName="L"
select * from PEOPLE where LastName="L" and FirstName="F"
Moje przekonanie, że drugie jest szybsze, ponieważ bardziej unikalne kryterium (LastName
) jest na pierwszym miejscu wwhere
klauzula, a zapisy zostaną wyeliminowane bardziej efektywnie. Nie sądzę, aby optymalizator był wystarczająco inteligentny, aby zoptymalizować pierwszy sql.
Czy moje zrozumienie jest prawidłowe?