在 where 查询中订购条件是否有意义?

Vim*_*987 0 performance sql-server clustered-index t-sql query-performance

我们在表 Tbl 中有一个聚集索引,顺序为 A、B、C。编写一个查询是否有意义

WHERE A = @a, B = @b, C = @c
Run Code Online (Sandbox Code Playgroud)

或者它会和

WHERE C = @c, B = @b, A = @a
Run Code Online (Sandbox Code Playgroud)

查询顺序对聚集索引有意义吗?

gbn*_*gbn 6

这没什么区别:优化器会评估查询并为自己计算谓词顺序,匹配合适的索引和它所做的所有其他好东西。

这是因为 SQL 是“声明性的”而不是“过程性的”:你说的是你想要的,而不是如何去做。

不过读起来更爽……