Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 5988213
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 22, 20262026-05-22T22:55:38+00:00 2026-05-22T22:55:38+00:00

When using row-level or page-level compression with SQL Server 2008 R2, does SQL Server

  • 0

When using row-level or page-level compression with SQL Server 2008 R2, does SQL Server store the data into its buffer cache in its compressed form or its expanded form.

For example, let’s say I have a table that is (page-level) compressed down to 20% of its original size:

Original size:  100 GB
Compressed size: 20 GB

Furthermore, the (dedicated) host that this particular instance of SQL Server is running on has 24 GB of memory. If a query performs a table scan, looking at all columns (for the sake of example) and SQL Server caches the data as compressed, theoretically it can have all of the data in its buffer cache and available for future queries. If the data is cached uncompressed, however, clearly 100 GB of data cannot fit into 24 GB of server memory.

So, how does SQL Server store compressed data in its buffer cache?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-22T22:55:39+00:00Added an answer on May 22, 2026 at 10:55 pm

    Compressed pages are persisted as compressed on disk and stay compressed when read into memory.

    Ref: SQL Server 2008 Data Compression: Strategy, Capacity Planning and Best Practices:

    Data is decompressed (not the entire
    page, but only the data values of
    interest) when it meets one of the
    following conditions:

    • It is read for filtering, sorting, joining, as part of a query response.
    • It is updated by an application.

    There is no in-memory, decompressed copy of the compressed page.
    Decompressing data consumes CPU.
    However, because compressed data uses
    fewer data pages, it also saves:

    • Physical I/O: Because physical I/O is expensive from a workload
      perspective, reduced physical I/O
      often results in a bigger saving than
      the additional CPU cost to compress
      and decompress the data. Note that
      physical I/O is saved both because a
      smaller volume of data is read from or
      written to disk, and because more data
      can remain cached in buffer pool
      memory.

    • Logical I/O (if data is in memory): Because logical I/O consumes CPU,
      reduced logical I/O can sometimes
      compensate for the CPU cost to
      compress and decompress the data.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

How can I perform an idempotent insert row using subsonic with a SQL 2008
I'm using ado.net data services and want to implement row level security in the
I have an expensive query using the row_number over() functionality in SQL Server 2005.
How can I update a complete data row by using a data row from
I scripted the tables in my dev database using SQL 2008 - generate scripts
Using PHP's mysqli how do you apply a row level lock? Row level locks
I'm using the row-level permission model known as django-granular-permissions ( http://code.google.com/p/django-granular-permissions/ ). The permission
In have an Oracle (10i) PL/SQL Row-Level trigger which is responsible for three independent
How could I accomplish row level security using Zend_Db_Select ? I can think of
I'm writing a code that does N X N matrix multiplication using thread level

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.