最佳答案
假设我有一个名为 人的表,它有三列: 身份证、 姓氏和 名字。这些列都没有索引。 LastName 更加唯一,而 名字不那么唯一。
如果我做两次搜索:
select * from PEOPLE where FirstName="F" and LastName="L"
select * from PEOPLE where LastName="L" and FirstName="F"
我认为第二个更快,因为更独特的标准(LastName
)在 where
子句中排在第一位,而且记录会被更有效地删除。我认为优化器不够聪明,无法优化第一个 SQL 查询。
我的理解正确吗?