gpt4 book ai didi

sql-server - 为什么在 SQL Server 中首次执行查询时 'physical reads' 小于 'read-ahead reads' 和 'logical reads'?

转载 作者:行者123 更新时间:2023-12-03 01:36:08 28 4
gpt4 key购买 nike

我重新启动了 SQL Server 2005 并运行了统计 IO 的查询。

我得到了这些结果:表“xxx”。扫描计数 1,逻辑读取 789,物理读取 3,预读读取 794,...

预读读取数是读取并放置在缓存中的页面数。那么物理读取次数不应该至少是相同的数字吗?

另外,因为这是查询的第一次运行,所以逻辑读取不应该为 0 吗?或者SQL Server物理地读取页面,将它们放入缓存中,然后从缓存中读取?当缓存应该为空时,为什么还要进行逻辑读取计数?

最佳答案

所有读取都是逻辑读取。

除了将页面放入缓存之外,有些还会引发物理读取和预读读取。

据推测,它会提前读取查询实际上从未需要的几页,因此该数字略大于实际的逻辑读取。

关于sql-server - 为什么在 SQL Server 中首次执行查询时 'physical reads' 小于 'read-ahead reads' 和 'logical reads'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5722479/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com