<?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>Optimized Non-clustered Index Maintenance in Per-Index Plans</title><link>http://blogs.msdn.com/b/craigfr/archive/2007/08/22/optimized-non-clustered-index-maintenance-in-per-index-plans.aspx</link><description>In my last post , I showed how SQL Server 2005 only updates non-clustered indexes when the data in the index actually changes. For my example, I used a simple update statement that results in a per-row or narrow plan. In this post, I'll show how this</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Recursive CTEs</title><link>http://blogs.msdn.com/b/craigfr/archive/2007/08/22/optimized-non-clustered-index-maintenance-in-per-index-plans.aspx#5676262</link><pubDate>Thu, 25 Oct 2007 22:06:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5676262</guid><dc:creator>Craig Freedman's SQL Server Blog</dc:creator><description>&lt;p&gt;One of the most important uses of CTEs is to write recursive queries. In fact, CTEs provide the only&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5676262" width="1" height="1"&gt;</description></item><item><title>Aggregation WITH CUBE</title><link>http://blogs.msdn.com/b/craigfr/archive/2007/08/22/optimized-non-clustered-index-maintenance-in-per-index-plans.aspx#5172083</link><pubDate>Thu, 27 Sep 2007 21:39:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5172083</guid><dc:creator>Craig Freedman's WebLog</dc:creator><description>&lt;p&gt;In my last post, I wrote about how aggregation WITH ROLLUP works. In this post, I will discuss how aggregation&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5172083" width="1" height="1"&gt;</description></item><item><title>re: Optimized Non-clustered Index Maintenance in Per-Index Plans</title><link>http://blogs.msdn.com/b/craigfr/archive/2007/08/22/optimized-non-clustered-index-maintenance-in-per-index-plans.aspx#4648028</link><pubDate>Thu, 30 Aug 2007 17:40:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4648028</guid><dc:creator>Craig Freedman</dc:creator><description>&lt;p&gt;Also, starting with SQL Server 2008 CTP5, the USE PLAN query hint will work with INSERT, UPDATE, and DELETE statements. &amp;nbsp;However, because USE PLAN requires a valid XML plan, it is most useful only when you can generate the plan you want through some other means.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4648028" width="1" height="1"&gt;</description></item><item><title>re: Optimized Non-clustered Index Maintenance in Per-Index Plans</title><link>http://blogs.msdn.com/b/craigfr/archive/2007/08/22/optimized-non-clustered-index-maintenance-in-per-index-plans.aspx#4631794</link><pubDate>Wed, 29 Aug 2007 20:52:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4631794</guid><dc:creator>Craig Freedman</dc:creator><description>&lt;p&gt;There is no easy way to force narrow or wide plans. &amp;nbsp;For testing purposes (on a development system only), you can fake the stats as I've demonstrated above. &amp;nbsp;Alternatively, Stefano from the optimizer team suggests forcing a wide plan by including a non-persisted computed column in the index. &amp;nbsp;Note that in some cases, the optimizer cannot choose a narrow plan. &amp;nbsp;(This is why we can force a wide plan by including a non-persisted computed column in an index.)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4631794" width="1" height="1"&gt;</description></item><item><title>re: Optimized Non-clustered Index Maintenance in Per-Index Plans</title><link>http://blogs.msdn.com/b/craigfr/archive/2007/08/22/optimized-non-clustered-index-maintenance-in-per-index-plans.aspx#4547280</link><pubDate>Fri, 24 Aug 2007 22:24:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4547280</guid><dc:creator>AlexLopez</dc:creator><description>&lt;p&gt;Hi Craig,&lt;/p&gt;
&lt;p&gt;Nice post. &lt;/p&gt;
&lt;p&gt;I was wondering if it is possible to force the query optimizer to use a narrow or a wide plan. I thought the USE PLAN query hint could be the solution but then I realized that it cannot be specified with INSERT, UPDATE, or DELETE statements. Is there a way to do it?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4547280" width="1" height="1"&gt;</description></item></channel></rss>