SQL服务器是否考虑查询计划中哪个索引已经在内存中(缓存)?

Does SQL Server consider which index is already in memory (cached) in query plan?

我想知道 SQL 服务器(或与此相关的其他 RDBMS)在创建查询计划时是否考虑了内存中已有的内容,例如:

有 2 个索引在满足请求方面大致相同,但其中一个已经完全或部分在内存中,而另一个则没有。

规划者是否考虑到了这一点,或者从光盘加载索引被认为不太重要或很难正确实现这样的功能?

仅针对SQL服务器,优化器在生成计划时不考虑索引页是否被缓存。缓存使用 LRU-K 算法独立管理,因此最近使用的数据,索引权重更高。

除非候选索引在所有方面都相同(冗余索引是一件坏事),否则没有“差不多好”。决胜局是我经历过的最窄的决胜局。

我推测这并不难实现,但会增加大量编译成本,而在实际工作负载中没有价值。