sql - 逻辑读取是如何计算的?

标签 sql tsql sql-server-2000 performance query-analyzer

我已经阅读了逻辑读取的定义:

http://msdn.microsoft.com/en-us/library/ms184361.aspx

它说:

“从数据缓存中读取的页数。”

我有两个表(table_1 的行数是141,table_2 是16.811),当我运行这两个查询时,它给出了以下结果。

SELECT * FROM Table_1

results
Scan count 1, logical reads 6, physical reads 0, read-ahead reads 0.

SELECT * FROM Table_2

results
scan count 1, logical reads 701, physical reads 0, read-ahead reads 0

如果逻辑读取是“从数据缓存中读取的页数”。那什么是页面?它是如何计算的?

最佳答案

页面是 SQL Server 使用的最小物理数据单元。

一页8K,可能包含若干表记录、索引记录等信息。

即使一行的长度是 10 字节,也需要读取整个页面。

在您的例子中,一个页面平均包含大约 20 行。

关于sql - 逻辑读取是如何计算的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2093009/

相关文章:

sql - TSQL从动态sql中选择临时表

sql - 识别 SQL Server 2000 中未使用表的策略?

SQL select max(date) 和对应的值

mysql - 统计已经统计和分组的表的结果行

sql - 在 MySQL 中选择查询

python - Flask SQLAlchemy 批量删除记录

sql - SQL中按年份并排比较数据

c# - 使用列表更新 SQL Server 数据库

BIGINT 列上的 SQL Like/Contains

SQL Server 数据库开发标准