<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL Server 2008 Page Compression: Using multiple processors</title><link>http://sqlblog.com/blogs/linchi_shea/archive/2008/05/05/sql-server-2008-page-compression-using-multiple-processors.aspx</link><description>SQL Server 2008 has introduced a long sought after feature -- Data Compression. This is a great feature, and I have no doubt it'll be widely used. The key compression method is called page compression, which uses the following three techniques to reduce</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>re: SQL Server 2008 Page Compression: Using multiple processors</title><link>http://sqlblog.com/blogs/linchi_shea/archive/2008/05/05/sql-server-2008-page-compression-using-multiple-processors.aspx#6631</link><pubDate>Mon, 05 May 2008 16:14:30 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:6631</guid><dc:creator>Greg Duncan</dc:creator><description>&lt;p&gt;Great post... thank you.&lt;/p&gt;
&lt;p&gt;But one data point I'd like to see is the time for &amp;quot;ALTER TABLE customer REBUILD WITH (DATA_COMPRESSION=PAGE);&amp;quot; (i.e. without the MAXDOP option).&lt;/p&gt;
&lt;p&gt;Pretty much I'm looking for what is the default number of processors used, if MAXDOP is not specified? 1? 0? ?&lt;/p&gt;
&lt;p&gt;Again thanks for this post,&lt;/p&gt;
&lt;p&gt;Greg&lt;/p&gt;
</description></item><item><title>re: SQL Server 2008 Page Compression: Using multiple processors</title><link>http://sqlblog.com/blogs/linchi_shea/archive/2008/05/05/sql-server-2008-page-compression-using-multiple-processors.aspx#6632</link><pubDate>Mon, 05 May 2008 17:53:54 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:6632</guid><dc:creator>Linchi Shea</dc:creator><description>&lt;p&gt;That data point is dependent on the sp_configure 'max degree of parallelism' setting. Basically, if you don't set MAXDOP explicitly in ALTER TABLE REBUILD WITH(), it'll use the sp_configure setting.&lt;/p&gt;
</description></item><item><title>re: SQL Server 2008 Page Compression: Using multiple processors</title><link>http://sqlblog.com/blogs/linchi_shea/archive/2008/05/05/sql-server-2008-page-compression-using-multiple-processors.aspx#6649</link><pubDate>Tue, 06 May 2008 14:05:15 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:6649</guid><dc:creator>Greg Duncan</dc:creator><description>&lt;p&gt;Got it.... Thank you.&lt;/p&gt;
</description></item><item><title>re: SQL Server 2008 Page Compression: Using multiple processors</title><link>http://sqlblog.com/blogs/linchi_shea/archive/2008/05/05/sql-server-2008-page-compression-using-multiple-processors.aspx#6654</link><pubDate>Tue, 06 May 2008 17:49:25 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:6654</guid><dc:creator>TheSQLGuru</dc:creator><description>&lt;p&gt;Seems like it will be a Best Practice to limit the number of CPUs allowed if the system is active to prevent all CPUs from getting hammered. &amp;nbsp;Looks like between 2 and 1/2 available would be appropriate depending on the I/O capabilities of the server.&lt;/p&gt;
</description></item><item><title>SQL Server 2008 Page Compression: Compression ratios with real-world databases</title><link>http://sqlblog.com/blogs/linchi_shea/archive/2008/05/05/sql-server-2008-page-compression-using-multiple-processors.aspx#6751</link><pubDate>Sun, 11 May 2008 23:37:27 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:6751</guid><dc:creator>Linchi Shea</dc:creator><description>&lt;p&gt;In my previous post on data compression, I looked at how rebuilding a table with page compression works&lt;/p&gt;
</description></item><item><title>SQL Server 2008 Page Compression: Performance impact on table scans</title><link>http://sqlblog.com/blogs/linchi_shea/archive/2008/05/05/sql-server-2008-page-compression-using-multiple-processors.aspx#6837</link><pubDate>Sat, 17 May 2008 01:38:16 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:6837</guid><dc:creator>Linchi Shea</dc:creator><description>&lt;p&gt;My previous post shows that data compression may not come for free, although hopefully by the RTM time&lt;/p&gt;
</description></item><item><title>re: SQL Server 2008 Page Compression: Using multiple processors</title><link>http://sqlblog.com/blogs/linchi_shea/archive/2008/05/05/sql-server-2008-page-compression-using-multiple-processors.aspx#6864</link><pubDate>Mon, 19 May 2008 17:39:05 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:6864</guid><dc:creator>Mike H</dc:creator><description>&lt;p&gt;What affect, if any will compression have when taken into account with the overly large size of hard drives when trying to optimize I/O. &amp;nbsp;Do you need to re-evaluate your stripe size when dealing with compressed databases?&lt;/p&gt;
&lt;p&gt;i.e. Ten 15,000rpm rpm drives in a Raid 0 array. You have a 150gb database, and the drives are 250gb, or even 500gb each.&lt;/p&gt;
&lt;p&gt;Could we actually loose performance if our 150gb database now only uses 100gb on the same array? &amp;nbsp;Would we want to adjust our stripe size to improve the allocation of our databases across the disks?&lt;/p&gt;
</description></item><item><title>A year in review, The 31 best blog posts on SQLBlog for 2008</title><link>http://sqlblog.com/blogs/linchi_shea/archive/2008/05/05/sql-server-2008-page-compression-using-multiple-processors.aspx#10860</link><pubDate>Wed, 31 Dec 2008 15:37:56 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:10860</guid><dc:creator>Denis Gobo</dc:creator><description>&lt;p&gt;Wow, it has been already a year since I wrote A year in review, The 21 + 1 best blog posts on SQLBlog&lt;/p&gt;
</description></item><item><title>re: SQL Server 2008 Page Compression: Using multiple processors</title><link>http://sqlblog.com/blogs/linchi_shea/archive/2008/05/05/sql-server-2008-page-compression-using-multiple-processors.aspx#30919</link><pubDate>Tue, 23 Nov 2010 16:19:16 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:30919</guid><dc:creator>Eric</dc:creator><description>&lt;p&gt;If you want an estimate_data_compression_savings on ALL tables within a db a the same time!!!!&lt;/p&gt;
&lt;p&gt;---------------------------------------------------------&lt;/p&gt;
&lt;p&gt;use [your_database_name]&lt;/p&gt;
&lt;p&gt;go&lt;/p&gt;
&lt;p&gt;--drop table #toto;&lt;/p&gt;
&lt;p&gt;create table #toto(&lt;/p&gt;
&lt;p&gt;	object_name varchar(60),&lt;/p&gt;
&lt;p&gt;	schema_name varchar(60),&lt;/p&gt;
&lt;p&gt;	index_id &amp;nbsp;integer,&lt;/p&gt;
&lt;p&gt;	partition_number integer,&lt;/p&gt;
&lt;p&gt;	[size_with_current_compression_setting(KB)] integer,&lt;/p&gt;
&lt;p&gt;	[size_with_resquested_compression_setting(KB)] integer,&lt;/p&gt;
&lt;p&gt;	[sample_size_with_current_compression_setting(KB)] integer,&lt;/p&gt;
&lt;p&gt;	[sample_size_with_requested_compression_setting(KB)] integer );&lt;/p&gt;
&lt;p&gt;exec sp_MSforeachtable&lt;/p&gt;
&lt;p&gt;@command1 = 'Declare @tableName Varchar(63) = SUBSTRING(''?'', 8, LEN(''?'') - 8);&lt;/p&gt;
&lt;p&gt;insert into #toto exec sp_estimate_data_compression_savings ''dbo'', @tableName, NULL, NULL, ''PAGE'';';&lt;/p&gt;
&lt;p&gt;select a.*, &amp;nbsp;ROUND((1 -&lt;/p&gt;
&lt;p&gt;[sample_size_with_requested_compression_setting(KB)] / CASE [sample_size_with_current_compression_setting(KB)] WHEN 0 THEN 1.0 ELSE Convert(float,&lt;/p&gt;
&lt;p&gt;[sample_size_with_current_compression_setting(KB)]) END) * 100.0, 2) AS '% freed' from #toto as a order by 1,2,3,4;&lt;/p&gt;
</description></item></channel></rss>