假设我有一个名为PEOPLE
3列的表ID, LastName, FirstName
,这些列都没有索引。
LastName
比较独特,FirstName
却不那么独特。
如果我进行2次搜索:
select * from PEOPLE where FirstName="F" and LastName="L"
select * from PEOPLE where LastName="L" and FirstName="F"
我相信第二个更快,因为LastName
在where
子句中,更独特的标准()排在第一位,并且记录将被更有效地消除。我认为优化器不够聪明,无法优化第一个sql。
我的理解正确吗?