Skip to main content
Added reference link for 8KB page size.
Source Link
Josh Darnell
  • 29.8k
  • 5
  • 67
  • 124

if something is doing 400K logical IOs, how much memory is streamed across (IO block size * logical IOs)

In SQL Server, 1 "logical I/O" refers to reading 1 8 KB page from the buffer pool (memory). It's possible that a physical I/O will be incurred first (to get the page from disk to memory). So 400K logical reads is 400,000 * 8 KB = 3,200,000 KB of data being read (~3 GB).

A reference for this, with a lot more detailed information, can be found on the Microsoft Docs site: Pages and Extents Architecture Guide

You mention block size, which I imagine is in reference to the OS level block size. While this matters at the OS level, and can potentially impact SQL Server performance, it's not relevant to logical I/O in terms of the number of pages - which is fixed at 8KB.

Also, I am trying to understand how to take the Report on top Logical IO SQL statements and get the physical IO that these incurred

You can find this in sys.dm_exec_query_stats. This includes columns for:

  • max_logical_reads,
  • total_logical_reads,
  • last_logical_reads,
  • max_physical_reads,
  • total_physical_reads,
  • last_physical_reads

...etc.

if something is doing 400K logical IOs, how much memory is streamed across (IO block size * logical IOs)

In SQL Server, 1 "logical I/O" refers to reading 1 8 KB page from the buffer pool (memory). It's possible that a physical I/O will be incurred first (to get the page from disk to memory). So 400K logical reads is 400,000 * 8 KB = 3,200,000 KB of data being read (~3 GB).

You mention block size, which I imagine is in reference to the OS level block size. While this matters at the OS level, and can potentially impact SQL Server performance, it's not relevant to logical I/O in terms of the number of pages - which is fixed at 8KB.

Also, I am trying to understand how to take the Report on top Logical IO SQL statements and get the physical IO that these incurred

You can find this in sys.dm_exec_query_stats. This includes columns for:

  • max_logical_reads,
  • total_logical_reads,
  • last_logical_reads,
  • max_physical_reads,
  • total_physical_reads,
  • last_physical_reads

...etc.

if something is doing 400K logical IOs, how much memory is streamed across (IO block size * logical IOs)

In SQL Server, 1 "logical I/O" refers to reading 1 8 KB page from the buffer pool (memory). It's possible that a physical I/O will be incurred first (to get the page from disk to memory). So 400K logical reads is 400,000 * 8 KB = 3,200,000 KB of data being read (~3 GB).

A reference for this, with a lot more detailed information, can be found on the Microsoft Docs site: Pages and Extents Architecture Guide

You mention block size, which I imagine is in reference to the OS level block size. While this matters at the OS level, and can potentially impact SQL Server performance, it's not relevant to logical I/O in terms of the number of pages - which is fixed at 8KB.

Also, I am trying to understand how to take the Report on top Logical IO SQL statements and get the physical IO that these incurred

You can find this in sys.dm_exec_query_stats. This includes columns for:

  • max_logical_reads,
  • total_logical_reads,
  • last_logical_reads,
  • max_physical_reads,
  • total_physical_reads,
  • last_physical_reads

...etc.

added 11 characters in body
Source Link
Josh Darnell
  • 29.8k
  • 5
  • 67
  • 124

if something is doing 400K logical IOs, how much memory is streamed across (IO block size * logical IOs)

In SQL Server, 1 "logical I/O" refers to readreading 1 8K8 KB page from the buffer pool (memory). It's possible that a physical I/O will be incurred first (to get the page from disk to memory). So 400K logical reads is 400,000 * 8 KB = 3,200,000 KB of data being read (~3 GB).

You mention block size, which I imagine is in reference to the OS level block size. While this matters at the OS level, and can potentially impact SQL Server performance, it's not relevant to logical I/O in terms of the number of pages - which is fixed at 8KB.

Also, I am trying to understand how to take the Report on top Logical IO SQL statements and get the physical IO that these incurred

You can find this in sys.dm_exec_query_stats. This includes columns for:

  • max_logical_reads,
  • total_logical_reads,
  • last_logical_reads,
  • max_physical_reads,
  • total_physical_reads,
  • last_physical_reads

...etc.

if something is doing 400K logical IOs, how much memory is streamed across (IO block size * logical IOs)

In SQL Server, 1 "logical I/O" refers to read 1 8K page from the buffer pool (memory). It's possible that a physical I/O will be incurred first (to get the page from disk to memory). So 400K logical reads is 400,000 * 8 KB = 3,200,000 KB of data read (~3 GB).

You mention block size, which I imagine is in reference to the OS level block size. While this matters at the OS level, and can potentially impact SQL Server performance, it's not relevant to logical I/O in terms of the number of pages - which is fixed at 8KB.

Also, I am trying to understand how to take the Report on top Logical IO SQL statements and get the physical IO that these incurred

You can find this in sys.dm_exec_query_stats. This includes columns for:

  • max_logical_reads,
  • total_logical_reads,
  • last_logical_reads,
  • max_physical_reads,
  • total_physical_reads,
  • last_physical_reads

...etc.

if something is doing 400K logical IOs, how much memory is streamed across (IO block size * logical IOs)

In SQL Server, 1 "logical I/O" refers to reading 1 8 KB page from the buffer pool (memory). It's possible that a physical I/O will be incurred first (to get the page from disk to memory). So 400K logical reads is 400,000 * 8 KB = 3,200,000 KB of data being read (~3 GB).

You mention block size, which I imagine is in reference to the OS level block size. While this matters at the OS level, and can potentially impact SQL Server performance, it's not relevant to logical I/O in terms of the number of pages - which is fixed at 8KB.

Also, I am trying to understand how to take the Report on top Logical IO SQL statements and get the physical IO that these incurred

You can find this in sys.dm_exec_query_stats. This includes columns for:

  • max_logical_reads,
  • total_logical_reads,
  • last_logical_reads,
  • max_physical_reads,
  • total_physical_reads,
  • last_physical_reads

...etc.

Source Link
Josh Darnell
  • 29.8k
  • 5
  • 67
  • 124

if something is doing 400K logical IOs, how much memory is streamed across (IO block size * logical IOs)

In SQL Server, 1 "logical I/O" refers to read 1 8K page from the buffer pool (memory). It's possible that a physical I/O will be incurred first (to get the page from disk to memory). So 400K logical reads is 400,000 * 8 KB = 3,200,000 KB of data read (~3 GB).

You mention block size, which I imagine is in reference to the OS level block size. While this matters at the OS level, and can potentially impact SQL Server performance, it's not relevant to logical I/O in terms of the number of pages - which is fixed at 8KB.

Also, I am trying to understand how to take the Report on top Logical IO SQL statements and get the physical IO that these incurred

You can find this in sys.dm_exec_query_stats. This includes columns for:

  • max_logical_reads,
  • total_logical_reads,
  • last_logical_reads,
  • max_physical_reads,
  • total_physical_reads,
  • last_physical_reads

...etc.