<?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>Fragmentation (part 3): What are extents?</title><link>http://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/06/28/649884.aspx</link><description>(Ok - another flight - another blog post. This time its Boston back to Seattle. The three of us who'd come over for the training course upgraded to 1st Class on Alaska for the flight back (great value at $100 for a 6-hour flight) and so there's oodles</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title> SQL Server Storage Engine Fragmentation part 3 What are extents | storage bench</title><link>http://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/06/28/649884.aspx#9782659</link><pubDate>Fri, 19 Jun 2009 11:06:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9782659</guid><dc:creator> SQL Server Storage Engine Fragmentation part 3 What are extents | storage bench</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://thestoragebench.info/story.php?id=4137"&gt;http://thestoragebench.info/story.php?id=4137&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9782659" width="1" height="1"&gt;</description></item><item><title> SQL Server Storage Engine Fragmentation part 3 What are extents | Toe Nail Fungus</title><link>http://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/06/28/649884.aspx#9713294</link><pubDate>Tue, 09 Jun 2009 09:11:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9713294</guid><dc:creator> SQL Server Storage Engine Fragmentation part 3 What are extents | Toe Nail Fungus</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://toenailfungusite.info/story.php?id=4805"&gt;http://toenailfungusite.info/story.php?id=4805&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9713294" width="1" height="1"&gt;</description></item><item><title> SQL Server Storage Engine Fragmentation part 3 What are extents | Uniform Stores</title><link>http://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/06/28/649884.aspx#9681984</link><pubDate>Mon, 01 Jun 2009 23:31:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9681984</guid><dc:creator> SQL Server Storage Engine Fragmentation part 3 What are extents | Uniform Stores</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://uniformstores.info/story.php?id=19080"&gt;http://uniformstores.info/story.php?id=19080&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9681984" width="1" height="1"&gt;</description></item><item><title>Fragmentation on the database - close friend of a DBA</title><link>http://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/06/28/649884.aspx#2244055</link><pubDate>Mon, 23 Apr 2007 12:42:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2244055</guid><dc:creator>SSQA- Users &amp; SQL tools</dc:creator><description>&lt;p&gt;On day-to-day basis a DBA might come across with the issues on the fragmentation on the database, it&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2244055" width="1" height="1"&gt;</description></item><item><title>re: Fragmentation (part 3): What are extents?</title><link>http://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/06/28/649884.aspx#682044</link><pubDate>Sat, 29 Jul 2006 02:40:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:682044</guid><dc:creator>Paul Randal - MSFT</dc:creator><description>Hi jccondor,&lt;br&gt;&lt;br&gt;Apologies for the delay in replying - I missed this comment when it was posted.&lt;br&gt;&lt;br&gt;I'll go into detail on clustered indexes in a later post but I'll address some of your concerns here:&lt;br&gt; - multi column indexes have all index key columns in the tree-nodes, otherwise building a b-tree would be impossible.&lt;br&gt;- INCLUDEd columns are not index keys and so do not have to be in the tree nodes&lt;br&gt;- in the example you give, the 'id' column will come first in the clustered index because its the primary key, unless you specify non-clustered. You'll need to post the actual index schema you're working with.&lt;br&gt;&lt;br&gt;Thanks&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=682044" width="1" height="1"&gt;</description></item><item><title>re: Fragmentation (part 3): What are extents?</title><link>http://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/06/28/649884.aspx#662432</link><pubDate>Tue, 11 Jul 2006 19:42:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:662432</guid><dc:creator>jccondor</dc:creator><description>Paul, could you touch the physical and logical structure of clustered indexes and how there navigated.&lt;br&gt;&lt;br&gt;My main concern is that (from what I knew or thought I knew SQL 2000) Indexes had the following structure: multi-column indexes the first only the first column was used to construct the tree-nodes. Leafs had the remaining columns. (BOL for 2005 now state differently we now have INCLUDE for adding columns to the leaf nodes and tree nodes contain all columns). I imagine though that the order is still important when navigating them ! ?&lt;br&gt;&lt;br&gt;My doubt has all ways been the following regarding clustered indexes. ( suppose a table with a US-STATE column (non-unique), id (primary key) filed ) now it's clear that sql server will order data by us-state and within each state by id.&lt;br&gt;&lt;br&gt;Select * from table where us-state='MA' is efficient because of the clustered index having us-state first.&lt;br&gt;&lt;br&gt;select * from table where id=@id: will probably require looking at primary key index then fetching us-state and then looking at the clustered index by state,id. HOW IS THIS ACHIVED (how can SQL make this efficient, is it doing a partial region scan on us-state and looking for the id?)&lt;br&gt;&lt;br&gt;B/W grate articles.&lt;br&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=662432" width="1" height="1"&gt;</description></item><item><title>re: Fragmentation (part 3): What are extents?</title><link>http://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/06/28/649884.aspx#659457</link><pubDate>Sat, 08 Jul 2006 01:01:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:659457</guid><dc:creator>Paul Randal - MSFT</dc:creator><description>Hi Ryan,&lt;br&gt;&lt;br&gt;I'm going to cover all of this in later posts but here are some simplified snippets to (hopefully) satisfy you in the meantime:&lt;br&gt; - yes, index and data pages can coexist, but as the fanout size increases, the odds of hitting such an extent decreases.&lt;br&gt;- What you've heard is incorrect though. The whole extent is not read into memory when a single page is read, unless the read is being driven by range-scan readahead. Also, the upper levels of a well-used index with a decent fanout are typically memory resident and so do not incur IO costs - the IO cost comes from reading the leaf-level page.&lt;br&gt; - having interleaved index and data pages in extents will impact the ability of the readahead code to generate multi-page contiguous IOs, but again, that's a negligible cause compared to page fragmentation&lt;br&gt; - readahead is driven from the level above the leaf level - I'm not going to explain it all now&lt;br&gt;&lt;br&gt;Hope this helps in the short-term.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=659457" width="1" height="1"&gt;</description></item><item><title>re: Fragmentation (part 3): What are extents?</title><link>http://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/06/28/649884.aspx#655274</link><pubDate>Mon, 03 Jul 2006 17:29:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:655274</guid><dc:creator>rhunt</dc:creator><description>Paul, I'm not sure where this will fit in, but I was wondering if you could discuss the mixture of page types for clustered Index/tables on extents. &amp;nbsp;I've heard before that leaf and intermediate level pages for clustered indexes often coexist on the same extents - this makes single row or small group lookups very fast because the leaf level pages are often on the same extent already paged-in to perform the CI seek.&lt;br&gt;&lt;br&gt;However, it seems to be that this would have a negative impact on range queries. &amp;nbsp;One of the benefits of ranges on CI's is that SQL is supposed to be able to traverse the intermediate index pages until locating the first occurrence of &amp;quot;true&amp;quot; based on the selection predicate, and then jump down to the leaf level to finish off selection (until leaf level keys result in selection predicate = false). &amp;nbsp;At least this is what I think it does...&lt;br&gt;&lt;br&gt;With intermediate and leaf pages on the same extents, it seems that the I/O load would be increased when intending to scan only the leaf level (I/O wise - wouldn't you also be scanning the intermediate level of the index as well??).&lt;br&gt;&lt;br&gt;Thanks. Ryan&lt;br&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=655274" width="1" height="1"&gt;</description></item></channel></rss>