查询
SELECT MAX(ID) FROM Product
https://www.brentozar.com/pastetheplan/?id=Skv5OqZBU
为什么优化器使用索引扫描,即使查询是基于主键(ID(的?
如果您阅读计划的"索引扫描"节点内的详细信息,您会发现它只需要返回1行。事实上,从末尾扫描1行比索引查找具有更好的性能。
MSSQL索引的物理结构是一个B+树。通过索引查找,意味着您从树部分开始查找O(log N(中的项。通过索引扫描,这意味着您从数据部分开始定位项目。这次你读一个,所以它是O(1(。
因此,实际上您的查询现在执行得非常快。