假设我有一个名为PEOPLE的表,它具有三列ID、LastName和FirstName。这些列都没有被索引。 LastName更独特,FirstName不那么独特。
如果我进行两次搜索:
select * from PEOPLE where FirstName="F" and LastName="L"
select * from PEOPLE where LastName="L" and FirstName="F"
我的信念是第二个更快,因为更独特的标准 ( LastName
) 在where
子句中首先出现,并且记录将被更有效地消除。我认为优化器不够聪明,无法优化第一个 SQL 查询。
我的理解正确吗?