不,这个顺序无关紧要(或至少:无所谓)。

任何体面的查询优化器都会查看所有部分WHERE 子句并找出满足该查询的最有效方法。

我知道 SQL Server 查询优化器会选择一个合适的索引 - 无论你有两个条件的顺序。我假设其他 RDBMS 将有类似的策略。

重要的是你是否有适合的指数!

对于 SQL Server,如果您有以下情况,它可能会使用索引:

  • 一个索引(LastName, FirstName)
  • 一个索引(FirstName, LastName)
  • 关于公正的指数(LastName), 要不就(FirstName) (或两者)

另一方面 - 再次为 SQL Server - 如果您使用SELECT * 从表中获取所有列,并且表格相当小,然后查询优化器很可能只执行表(或聚簇索引)扫描而不是使用索引(因为查找到完整数据页面得到所有其他列只是很快就太贵了)。