SQL Profiler 中的“读取”列是否与 IOPS 相同?

use*_*117 2 sql-server profiler

我刚刚执行了一个非常快的查询,SQL Profiler 说它使用了 30.000 次读取。现在我正在查看此页面:https : //cloud.google.com/compute/docs/disks/performance并看到标准永久性磁盘具有 3000 次读取 IOPS。

这是否意味着我的查询在那里运行时需要 10 秒?或者SQL readsread IOPS意味着完全不同的事情?

AMt*_*two 5

Profiler 中的一次“阅读”仅等同于阅读一页 8kb 的页面。

这并不等同于 IOPS,也不一定意味着数据是从磁盘读取的。执行读取时,仅当缓冲区缓存中不存在该页面时,SQL Server 才会从磁盘读取数据。所有数据在用于满足您的查询之前都会通过缓冲区缓存。

因此,您可以将这个数字视为与磁盘 IO 无关,而是衡量从内存读取的数据量。