0

The following excerpt is in Chapter 10 of T-SQL Querying by Itzik Ben-Gan. He is listing the benefits of In-Memory OLTP tables over traditional pages.

You can also dispense with the considerable infrastructure used to track which pages are in memory, which pages are in the buffer pool, where in the buffer pool a given page might be, whether the in-memory copy of the page has been modified (making it “dirty” and requiring that it eventually be flushed back out to disk), and so on.

This has confused me. It is written as if there is a difference between a traditional SQL Server page being "in memory" and "in the buffer pool". Is there any such distinction? I know that SQL Server has various caches, but I do not know of any of those being relevant to the pages that can make up a table. The only relevant cache that I know of is the buffer pool.

3
  • @DaleK Good point. I should use that more. Is there a clear definition of what belongs here and what belongs there?
    – J. Mini
    Sep 25, 2023 at 19:13
  • I think the definitions are clear, but there is also an overlap. For highly technical questions I would certainly use dba as there are some serious gurus there. What you shouldn't do is post on both.
    – Dale K
    Sep 25, 2023 at 19:15
  • And it's not a really big deal. Questions get moved as needed. Sep 26, 2023 at 18:43

1 Answer 1

4

if there is a difference between a traditional SQL Server page being "in memory" and "in the buffer pool"

They used to be synonymous. But since SQL Server 2014 you can store the Buffer Pool partially in memory and partially on fast local flash storage with Buffer Pool Extension.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.