<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.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>Types of data compression in SQL Server 2008</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/11/12/types-of-data-compression-in-sql-server-2008.aspx</link><description>SQL Server deploys two strategies to compress the data · First, it stores all fixed length data types in variable length format. If you recall, SQL Server 2005/SP2 provided a new variable length storage format decimal and numeric. Please refer to the</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Types of data compression in SQL Server 2008</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/11/12/types-of-data-compression-in-sql-server-2008.aspx#6965040</link><pubDate>Thu, 03 Jan 2008 11:23:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6965040</guid><dc:creator>MBParker</dc:creator><description>&lt;p&gt;Thanks for the great tech specs, as record format. &amp;nbsp;It would be even better if these essential specs were in a wiki.&lt;/p&gt;
&lt;p&gt;Question: In any version of SQL (and especially SQL Server 2005 &amp;amp; 2008), &lt;/p&gt;
&lt;p&gt;WHAT COMPRESSION is there FOR A COLUMN/FIELD OF REPEATING VALUES &lt;/p&gt;
&lt;p&gt;(contiguous series of rows with the same value for that that field/column) &lt;/p&gt;
&lt;p&gt;--MOST ESPECIALLY FOR SHORT FEW-BYTE VALUES as INT? &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Say in an Order-Item table: an order is generally entered all once (or about the same time), each Order-Item tends to reference the same Order ID as the prior Order-Item (very frequently)).&lt;/p&gt;
&lt;p&gt;As a simple do-it-yourself version of this, you could have your row-insert procedure (plus update &amp;amp; delete procedures) put null for a value of a field/column (expected to have a value) if that field's value desired value happens to be same value as the prior row's value for that field/column -- storing the same data with just 1 bit (for the null option, which is allocated anyway in all cases in SQL Server 2008 server). &amp;nbsp; I call this DITTO Compression 20080103075141, because it's exactly what the ditto mark does, used here in the cell of a table. &amp;nbsp;Then have a view of the data which actually restores the desired value (when the view sees null, it uses the prior non-null value). &amp;nbsp;Then even index this computed column (and perhaps persist it) to get the same performance as if you actually had this underlying data, but without having to permanently waste the space. &amp;nbsp;How well would that work?&lt;/p&gt;
&lt;p&gt;However, something as basic &amp;amp; simple as this (&amp;quot;ditto compression&amp;quot;) I would expect would already be built-in to SQL. &amp;nbsp;Indeed I seem to recall reading years ago it was, perhaps in Oracle. &amp;nbsp;But I can't find docs of this, for SQL Server nor SQL in general. &amp;nbsp;Is such basic &amp;quot;ditto compression&amp;quot; built-in? &amp;nbsp;If not, why not? &amp;nbsp; &lt;/p&gt;
&lt;p&gt;-- &lt;a rel="nofollow" target="_new" href="http://www.infoq.com/news/2007/11/SQL-Server-Compression"&gt;http://www.infoq.com/news/2007/11/SQL-Server-Compression&lt;/a&gt; talks of &amp;quot;page level&amp;quot; &amp;quot;prefix&amp;quot; compression (which is quite clever), but that's not until the latest 2008, and it seems like that might only work well on strings, and still require (for a 100% repeated value) a minimum of 3 bytes or so, instead of a bit.&lt;/p&gt;
&lt;p&gt;Thanks! &amp;nbsp;Mike Parker&lt;/p&gt;
</description></item><item><title>Row compression – internal structure</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/11/12/types-of-data-compression-in-sql-server-2008.aspx#7881970</link><pubDate>Sun, 24 Feb 2008 23:02:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7881970</guid><dc:creator>Danny's SQL Server and Internals Viewer Blog</dc:creator><description>&lt;p&gt;The CTP6 release of SQL Server 2008 includes row and page compression. It’s a feature that will only&lt;/p&gt;
</description></item><item><title>re: Types of data compression in SQL Server 2008</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/11/12/types-of-data-compression-in-sql-server-2008.aspx#8829776</link><pubDate>Mon, 04 Aug 2008 12:57:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8829776</guid><dc:creator>soundararajan.d</dc:creator><description>&lt;p&gt;Your article is impressive. Thanks for all these internals. &lt;/p&gt;
&lt;p&gt;One Question : Will this work for BLOB data as well, &amp;nbsp;since you mentioned compression happens at binary level.&lt;/p&gt;
</description></item><item><title>re: Types of data compression in SQL Server 2008</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/11/12/types-of-data-compression-in-sql-server-2008.aspx#8831775</link><pubDate>Mon, 04 Aug 2008 21:20:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8831775</guid><dc:creator>Sunil Agarwal</dc:creator><description>&lt;p&gt;only in-row data gets compressed. if BLOB is stored off row, a common case, it won't be compressed. you have two options for off row&lt;/p&gt;
&lt;p&gt;(1) use file stream&lt;/p&gt;
&lt;p&gt;(2) use RBS (remote blob storage)&lt;/p&gt;
&lt;p&gt;thanks for your interest and comments&lt;/p&gt;
</description></item><item><title>Improving SharePoint with SQL Server 2008</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/11/12/types-of-data-compression-in-sql-server-2008.aspx#8879522</link><pubDate>Tue, 19 Aug 2008 22:00:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8879522</guid><dc:creator>SharePoint Hosting and Development</dc:creator><description>&lt;p&gt;There is a vast array of new features in SQL Server 2008. While I would love to explore all of them,&lt;/p&gt;
</description></item></channel></rss>