|
|
|
Old Hand
      
Group: General Forum Members
Last Login: Friday, May 17, 2013 9:16 AM
Points: 360,
Visits: 1,505
|
|
Jason Shadonix (4/22/2010)
ben.rosato (4/22/2010) I have a table that's 10GB. There is a ntext column that holds the largest portion of the data. When I check the estimated compression for this table it only shows a 10MB reduction. That seems strange to me. Why would it not be able to compress that?The only thing I see in BOL that might be a hint is the following: "Because of their size, large-value data types are sometimes stored separately from the normal row data on special purpose pages. Data compression is not available for the data that is stored separately."
Yep, must be due to the ntext data type. I wonder if nvarchar(max) compresses.
|
|
|
|
|
Valued Member
      
Group: General Forum Members
Last Login: Friday, April 05, 2013 12:29 PM
Points: 67,
Visits: 227
|
|
This is confusing: "As you can see from the disk bytes/sec counter, there is a considerable savings caused by both row and page level compression, with the page level compression yielding the highest improvement."
How is this? The number of bytes per second is much lower with compression on. What is the "considerable savings"? A lower number of bytes per second is a bad thing, not a good thing. Can you explain this please?
Finally, what is the "time" axis on all of the charts? What kind of time? The axis is not labeled with any units (minutes, seconds, hours...). Is this the time since the test started, and if so, how is that significant?
Thanks.
|
|
|
|
|
Old Hand
      
Group: General Forum Members
Last Login: Friday, May 17, 2013 9:16 AM
Points: 360,
Visits: 1,505
|
|
| Compression doesn't appear to work on nvarchar(max).
|
|
|
|
|
SSC Journeyman
      
Group: General Forum Members
Last Login: Yesterday @ 5:18 PM
Points: 76,
Visits: 764
|
|
Hi,
If a very big table doesn't have a clustered index and I decide to compress this table, is it possible that this table become fragmented ?
calico
|
|
|
|
|
Ten Centuries
      
Group: General Forum Members
Last Login: Tuesday, May 21, 2013 9:31 AM
Points: 1,041,
Visits: 1,356
|
|
David Walker-278941 (4/22/2010) This is confusing: "As you can see from the disk bytes/sec counter, there is a considerable savings caused by both row and page level compression, with the page level compression yielding the highest improvement."
How is this? The number of bytes per second is much lower with compression on. What is the "considerable savings"? A lower number of bytes per second is a bad thing, not a good thing. Can you explain this please?
We're talking SQL Server performance, not disk performance. This is not how many bytes per second the disk array is capable of; this is how many bytes SQL Server had to read/write to disk during the testing -- and the less disk access needed, the better.
This is also why (I believe) the compression results in faster backup and access times -- the bottleneck in this particular test is the disk array.
|
|
|
|
|
SSCoach
         
Group: General Forum Members
Last Login: 2 days ago @ 10:25 AM
Points: 18,754,
Visits: 12,337
|
|
|
|
|
|
Valued Member
      
Group: General Forum Members
Last Login: Friday, April 05, 2013 12:29 PM
Points: 67,
Visits: 227
|
|
sknox (4/22/2010)
David Walker-278941 (4/22/2010) This is confusing: "As you can see from the disk bytes/sec counter, there is a considerable savings caused by both row and page level compression, with the page level compression yielding the highest improvement."
How is this? The number of bytes per second is much lower with compression on. What is the "considerable savings"? A lower number of bytes per second is a bad thing, not a good thing. Can you explain this please?
We're talking SQL Server performance, not disk performance. This is not how many bytes per second the disk array is capable of; this is how many bytes SQL Server had to read/write to disk during the testing -- and the less disk access needed, the better. This is also why (I believe) the compression results in faster backup and access times -- the bottleneck in this particular test is the disk array.
Ah, yes, that does make sense. Still, it would be useful to know what the "units" are on the Time scale.
I think that with a lot of SQL Server work, the disk subsystem is the bottleneck... not just in these tests.
|
|
|
|
|
Ten Centuries
      
Group: General Forum Members
Last Login: Monday, May 20, 2013 4:06 PM
Points: 1,409,
Visits: 2,027
|
|
David Walker-278941 (4/22/2010) [quote]sknox (4/22/2010)
Ah, yes, that does make sense. Still, it would be useful to know what the "units" are on the Time scale.
I think that with a lot of SQL Server work, the disk subsystem is the bottleneck... not just in these tests.
Sorry - just noticed the time question. The tests I did were just short 3 min. tests, and those "units" are just what MS Excel decided I wanted, and I didn't feel like fighting. Looks like they are about 15 sec. intervals.
Before you implemented anything, I'd suggest playing on a dev box with a copy of the database you are considering compressing with a more realistic load, and run tests for a lot longer.
We are just getting ready to run live with our first 2008 box (all 2005 otherwise) with a brand new app, so for now I'm just doing backup compression and not DB compression. From what I can tell it's just as easy to implement compression later as it is initially (keeping in mind a short burst of CPU/Disk use will probably be involved).
Jason Shadonix MCTS, SQL 2005
|
|
|
|
|
Ten Centuries
      
Group: General Forum Members
Last Login: Tuesday, May 21, 2013 9:31 AM
Points: 1,041,
Visits: 1,356
|
|
David Walker-278941 (4/22/2010)
sknox (4/22/2010)
This is also why (I believe) the compression results in faster backup and access times -- the bottleneck in this particular test is the disk array.
I think that with a lot of SQL Server work, the disk subsystem is the bottleneck... not just in these tests.
Certainly, but as that's not always the case, and especially as encryption and compression have historically been compute-intensive tasks, I felt it was important to note that fact. As the disk subsystem is the bottleneck here, compression helps performance by decreasing reliance on that subsystem. But if you know that your disk subsystem has better performance characteristics -- or that your CPU has worse -- you should expect less dramatic results -- possibly even decreased performance in extreme cases.
|
|
|
|
|
SSC Journeyman
      
Group: General Forum Members
Last Login: Tuesday, May 14, 2013 8:02 AM
Points: 80,
Visits: 341
|
|
Good article and glad to see numbers attached to it.
One question, though, when you apply row or page compression is the table (and its respective indexes) still accessible or does it maintain some sort of lock on it. Reason for question is that my production OLTP database is in a 24x7 environment and we had no maintenance window.
Mike Byrd
|
|
|
|