Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在sql server中清除数据缓存时逻辑读取为3?_Sql_Sql Server_Performance_Sql Server 2008 - Fatal编程技术网

在sql server中清除数据缓存时逻辑读取为3?

在sql server中清除数据缓存时逻辑读取为3?,sql,sql-server,performance,sql-server-2008,Sql,Sql Server,Performance,Sql Server 2008,我不明白当我在案例1中清除缓存时,它如何显示逻辑读取3,我读取的是逻辑读取意味着页数 从数据缓存中读取数据,但在执行sql语句之前,我正在清除案例1中的数据,但它仍然为我提供逻辑读取3 当数据缓存被清除时 为什么?注意“物理读数”的区别 简单地说 物理读取=缓存中的数据 逻辑读取=访问缓存中的数据 清除缓存将强制进行物理读取,以便进行逻辑读取。逻辑读数不能为零(对于学究而言)。请注意“物理读数”的差异 简单地说 物理读取=缓存中的数据 逻辑读取=访问缓存中的数据 清除缓存将强制进行物理读

我不明白当我在案例1中清除缓存时,它如何显示逻辑读取3,我读取的是逻辑读取意味着页数 从数据缓存中读取数据,但在执行sql语句之前,我正在清除案例1中的数据,但它仍然为我提供逻辑读取3 当数据缓存被清除时

为什么?

注意“物理读数”的区别

简单地说

  • 物理读取=缓存中的数据
  • 逻辑读取=访问缓存中的数据
清除缓存将强制进行物理读取,以便进行逻辑读取。逻辑读数不能为零(对于学究而言)。

请注意“物理读数”的差异

简单地说

  • 物理读取=缓存中的数据
  • 逻辑读取=访问缓存中的数据

清除缓存将强制进行物理读取,以便进行逻辑读取。您不能有零逻辑读取(对于学究来说,)

逻辑读取并不意味着在查询开始之前页面在缓存中。SQL Server必须访问的每一页都被计算为逻辑读取。如果页面必须被访问两次,则会计算两次逻辑读取。每次必须访问页面时,SQL Server都必须执行代码,以防止在读取页面时对该页面进行更改(它正在为此使用锁存)。因此,逻辑读取是一个相当昂贵的操作。因此,逻辑读取的数量可以很好地指示查询的开销

逻辑读取并不意味着该页在查询开始之前已在缓存中。SQL Server必须访问的每一页都被计算为逻辑读取。如果页面必须被访问两次,则会计算两次逻辑读取。每次必须访问页面时,SQL Server都必须执行代码,以防止在读取页面时对该页面进行更改(它正在为此使用锁存)。因此,逻辑读取是一个相当昂贵的操作。因此,逻辑读取的数量可以很好地指示查询的开销

dbcc FREEPROCCACHE
dbcc DROPCLEANBUFFERS

set STATISTICS IO ON--Case 1
SELECT * from Production.Suppliers s


--(30 row(s) affected)
--Table 'Suppliers'. Scan count 1, logical reads 3, physical reads 1, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

--again without clearing the cache I ran above

set STATISTICS IO ON
SELECT * from Production.Suppliers s


--(30 row(s) affected)
--Table 'Suppliers'. Scan count 1, logical reads 3, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.