SQL Server 统计信息是否存储在数据库或缓冲池中?

Joy*_*ker 10 sql-server statistics execution-plan

只是想知道统计数据是否保存在数据库中而不是内存中?如果我将数据库从生产服务器备份/恢复到开发服务器,它是否会保留相同的统计信息,以便在开发服务器上执行计划不会有太大不同?

Rem*_*anu 15

缓冲池是数据库的缓存。从来没有“或”,缓冲池中的东西也总是在数据库中。从数据库中读取的任何内容都必须存在于缓冲池中,即使是暂时的。

至于问题:统计信息在数据库中,因此备份/恢复将保留统计信息。

请注意,保留统计数据并不能保证计划的可重复性。其他因素会影响计划生成,例如 CPU 数量和 RAM 数量。