<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Conor vs. SQL</title><subtitle type="html">Conor Cunningham&amp;#39;s blog on SQL Server, data-driven applications, and pretty much whatever other random stuff he decides to post.</subtitle><id>http://blogs.msdn.com/b/conor_cunningham_msft/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/conor_cunningham_msft/atom.aspx" /><generator uri="http://telligent.com" version="5.6.583.20496">Telligent Community 5.6.583.20496 (Build: 5.6.583.20496)</generator><updated>2010-08-16T15:03:45Z</updated><entry><title>Conor vs. window functions, sequence/ranking functions order-of-operations</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/02/02/conor-vs-window-functions-sequence-ranking-functions-order-of-operations.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/02/02/conor-vs-window-functions-sequence-ranking-functions-order-of-operations.aspx</id><published>2012-02-03T02:15:17Z</published><updated>2012-02-03T02:15:17Z</updated><content type="html">We had a customer issue today that ended up being by-design but was confusing enough that I offered to write up a blog post so that people could reference it in the future.&amp;#160; It boils down to the question “when should ROW_NUMBER() be computed in a query?” I’ll define some terms: Sequence/Ranking functions:&amp;#160; ROW_NUMBER(), RANK(), DENSE_RANK(), NTILE(N).&amp;#160;&amp;#160; These are all functions that use the OVER clause.&amp;#160; They support PARTITION BY and ORDER BY clauses within OVER() and are...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/02/02/conor-vs-window-functions-sequence-ranking-functions-order-of-operations.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10263493" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. SqlBits Spring 2012</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/30/conor-vs-sqlbits-spring-2012.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/30/conor-vs-sqlbits-spring-2012.aspx</id><published>2012-01-30T22:49:57Z</published><updated>2012-01-30T22:49:57Z</updated><content type="html">For those interested, I will be speaking at the SqlBits conference in London, UK at the end of March.&amp;#160; I’ll be giving the Saturday keynote (on the new Batch processing engine in SQL 2012 used with Column Store indexes) and 2 other talks (one on Data Warehousing broadly and the other on Distributed Query Internals) during the conference. I hope to see some of you there! Thanks, Conor...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/30/conor-vs-sqlbits-spring-2012.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10261969" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. SQL Azure Resource Usage</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/16/conor-vs-sql-azure-resource-usage.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/16/conor-vs-sql-azure-resource-usage.aspx</id><published>2012-01-16T17:43:53Z</published><updated>2012-01-16T17:43:53Z</updated><content type="html">For those of you watching SQL Azure, you probably have noticed that it releases more frequently than regular SQL Server.&amp;#160; There was a release in late November/early December (it is complicated since the installation of the new software is done largely transparently to customers and it is done over the course of several days – there are many different parts to the SQL Azure service beyond what you would call the normal “database engine” part, and we don’t install new software on them exactly...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/16/conor-vs-sql-azure-resource-usage.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10257202" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. ColumnStore Index Stats</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/09/conor-vs-columnstore-index-stats.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/09/conor-vs-columnstore-index-stats.aspx</id><published>2012-01-09T18:40:18Z</published><updated>2012-01-09T18:40:18Z</updated><content type="html">&amp;#160; I haven’t posted much on the new SQL Server 2012 features yet, but I’m going to start doing so soon.&amp;#160; I’ll also be speaking about them at upcoming conferences.&amp;#160; We have an exciting new index type in SQL Server 2012 that is column-oriented called the ColumnStore index.&amp;#160; It is a multi-column index that, when combined with other features in SQL Server, can make certain Data Warehouse (DW) queries run significantly faster.&amp;#160; I did a demo of this in Serbia in October (you can...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/09/conor-vs-columnstore-index-stats.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10254669" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. Distributed Query Provider Hints</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/09/conor-vs-distributed-query-provider-hints.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/09/conor-vs-distributed-query-provider-hints.aspx</id><published>2012-01-09T14:55:19Z</published><updated>2012-01-09T14:55:19Z</updated><content type="html">(I promised I’d write more ) Today I will talk a bit about Distributed Query (DQ), a feature that lets you query across databases/servers.&amp;#160; I’ve previously posted an academic paper we wrote on the subject some time back ( http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.59.8007 ), but today I’ll post something up there for folks considering how query plans get optimized. SQL Server’s optimizer does lots of different things before a plan is selected.&amp;#160; It considers lots and lots of...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/09/conor-vs-distributed-query-provider-hints.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10254579" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. SQL Azure/SQL Server 2012</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/04/conor-vs-sql-azure-sql-server-2012.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/04/conor-vs-sql-azure-sql-server-2012.aspx</id><published>2012-01-04T14:16:04Z</published><updated>2012-01-04T14:16:04Z</updated><content type="html">I’m not one for New Year’s Resolutions, but I am going to try to blog a bit more.&amp;#160; It’s hard to describe working at Microsoft, especially as one gets more senior.&amp;#160; There are lots of really smart people.&amp;#160; There’s an ability to work on problems that are very difficult for smaller companies to even try.&amp;#160; The operative description for the recent past has been “extremely busy”.&amp;#160; That’s good for customers, as it means we are building things for you .&amp;#160; We have SQL Server 2012...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2012/01/04/conor-vs-sql-azure-sql-server-2012.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10253038" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. Extended Events</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/12/16/conor-vs-extended-events.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/12/16/conor-vs-extended-events.aspx</id><published>2011-12-16T17:46:47Z</published><updated>2011-12-16T17:46:47Z</updated><content type="html">I have been playing with the XEvent feature in SQL 2012 (RC0) and there are a few gotchas that I hit.&amp;#160; I figured I’d post them up here so that others could learn from my experiences.&amp;#160; I was trying to do something pretty simple – get the % Processor Used computation from the performance counters.&amp;#160; SQL Server exposes these through an XEvent, so I thought I’d get that data through the event.&amp;#160; 1: CREATE EVENT SESSION test_session 

 2: ON SERVER 

 3: ADD EVENT sqlserver.perfobject_processor...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/12/16/conor-vs-extended-events.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10248649" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. Synergija Slide Decks</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/10/24/conor-vs-synergija-slide-decks.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/10/24/conor-vs-synergija-slide-decks.aspx</id><published>2011-10-24T19:17:06Z</published><updated>2011-10-24T19:17:06Z</updated><content type="html">I had a great time visiting Belgrade last week.&amp;#160; I’d like to thank everyone who attended one of my talks and I wanted to post up the slide decks for those who would like to see them.&amp;#160; One talk was on the new SQL 2012 ColumnStore index feature + basic design overview.&amp;#160; For those who read the blog, the second deck is not a surprise as it is the standard QO architecture talk I sometimes give to new audiences. I had a wonderful time! Here is my slide deck introducting the ColumnStore index...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/10/24/conor-vs-synergija-slide-decks.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10229445" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. Sinergija 2011</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/10/07/conor-vs-sinergija-2011.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/10/07/conor-vs-sinergija-2011.aspx</id><published>2011-10-07T14:30:38Z</published><updated>2011-10-07T14:30:38Z</updated><content type="html">As a professional announcement, I will not be speaking at PASS this year (nor will I be at the conference).&amp;#160; Instead, I will be in Belgrade, Serbia the following week to speak at the Sinergija 11 conference.&amp;#160; I’ll be doing a talk on the new ColumnStore index and I believe I’ll also be doing a talk on how Optimizers work. This is my first time in Serbia, so I’m obviously looking forward to something new....(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/10/07/conor-vs-sinergija-2011.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10221691" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. Max Server Memory</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/09/30/conor-vs-max-server-memory.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/09/30/conor-vs-max-server-memory.aspx</id><published>2011-09-30T19:00:40Z</published><updated>2011-09-30T19:00:40Z</updated><content type="html">&amp;#160; Question (paraphrased):&amp;#160; “Conor, does changing the max server memory settings always empty the plan cache on SQL 2005 and 2008?” Answer: yes, this is what happens and what is supposed to happen.&amp;#160; One of the inputs to the optimizer is the max server memory, and it is used in the costing functions to determine which plan gets chosen during optimization.&amp;#160; Changing this setting could imply that other plans are now better.&amp;#160; As such, the plan cache is emptied and plans are compiled...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/09/30/conor-vs-max-server-memory.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10218656" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. SQL Saturday Austin</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/09/27/conor-vs-sql-saturday-austin.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/09/27/conor-vs-sql-saturday-austin.aspx</id><published>2011-09-27T15:44:16Z</published><updated>2011-09-27T15:44:16Z</updated><content type="html">I'll be talking about one of the new things our team has been develping this Saturday at the SQL Saturday event in Austin ( http://www.sqlsaturday.com/97/eventhome.aspx) on the new ColumnStore index being added in the upcoming release of SQL Server. It will have a little something for everyone, so I hope to see some of you there. The talk is scheduled for 10:50am. 
 I'll get the slides up when I am done. 
 Happy Querying! 
 Conor...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/09/27/conor-vs-sql-saturday-austin.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10217257" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author><category term="SQL" scheme="http://blogs.msdn.com/b/conor_cunningham_msft/archive/tags/SQL/" /><category term="Index" scheme="http://blogs.msdn.com/b/conor_cunningham_msft/archive/tags/Index/" /><category term="Data Warehouse" scheme="http://blogs.msdn.com/b/conor_cunningham_msft/archive/tags/Data+Warehouse/" /><category term="Business Intelligence" scheme="http://blogs.msdn.com/b/conor_cunningham_msft/archive/tags/Business+Intelligence/" /><category term="ColumnStore" scheme="http://blogs.msdn.com/b/conor_cunningham_msft/archive/tags/ColumnStore/" /></entry><entry><title>Conor vs. Parallel Execution Plan Contexts/Runtime Instances</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/06/28/conor-vs-parallel-execution-plan-contexts-runtime-instances.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/06/28/conor-vs-parallel-execution-plan-contexts-runtime-instances.aspx</id><published>2011-06-28T13:50:35Z</published><updated>2011-06-28T13:50:35Z</updated><content type="html">I’ve received a question about parallel execution plans from a customer. ( http://technet.microsoft.com/en-gb/library/cc966425.aspx ) Execution contexts for parallel plans are not cached. A necessary condition for SQL Server to compile a parallel query plan is that the minimum of the number of processors that have survived the processor affinity mask and the value of the &amp;quot;max degree of parallelism&amp;quot; server-wide option (possibly set using the &amp;quot;sp_configure&amp;quot; stored procedure) is...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/06/28/conor-vs-parallel-execution-plan-contexts-runtime-instances.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10180930" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. SQLBits 2011 Brighton</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/04/11/conor-vs-sqlbits-2011-brighton.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/04/11/conor-vs-sqlbits-2011-brighton.aspx</id><published>2011-04-11T12:28:59Z</published><updated>2011-04-11T12:28:59Z</updated><content type="html">Here is the slide deck from my presentation at SQLBits Friday in Brighton file &amp;#160; I had a great time at SQLBits, even though I had to leave early.&amp;#160; Thank you to everyone who attended the talk and to those who asked questions and gave me feedback.&amp;#160; It is always wonderful to talk to our customers and we very much value your input so that we can improve the product in the future. The slide deck has all the examples and you should be able to go try out all of the things I discussed in the...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/04/11/conor-vs-sqlbits-2011-brighton.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10152018" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. SQLBits (United Kingdom)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/04/03/conor-vs-sqlbits-united-kingdom.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/04/03/conor-vs-sqlbits-united-kingdom.aspx</id><published>2011-04-03T23:47:06Z</published><updated>2011-04-03T23:47:06Z</updated><content type="html">I will be in Brighton, England this upcoming Friday where I will be speaking at the SQLBits conference.&amp;#160; I plan to give a talk that goes deep into how many SQL Server processes Update queries (Insert, Update, Delete).&amp;#160; So, if you’ve ever wanted to learn about why the plan shapes look like they do, this is the talk for you.&amp;#160; I am excited to get back to England, though I am watching the volcanoes in Iceland more warily this time :). Hope to see you there! Conor...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/04/03/conor-vs-sqlbits-united-kingdom.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10149345" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. Map-Reduce vs. Databases</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/02/11/conor-vs-map-reduce-vs-databases.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/02/11/conor-vs-map-reduce-vs-databases.aspx</id><published>2011-02-11T21:06:07Z</published><updated>2011-02-11T21:06:07Z</updated><content type="html">I found this paper interesting, so you might too.&amp;#160; It covers some of the differences between parallel database systems and map-reduce style computation: http://database.cs.brown.edu/papers/stonebraker-cacm2010.pdf Happy Querying! Conor...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/02/11/conor-vs-map-reduce-vs-databases.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10128271" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. Views/Tables</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/01/31/conor-vs-views-tables.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/01/31/conor-vs-views-tables.aspx</id><published>2011-01-31T16:22:16Z</published><updated>2011-01-31T16:22:16Z</updated><content type="html">I received an email from a reader this weekend that has a lot of different questions, but one of the main questions related to the difference between views and base tables in SQL Server’s plan generation process.&amp;#160; ie if I have a view “select * from table” vs. a table “table”, does the optimizer treat these differently? Before I answer, I’ll clarify that SQL Server changes some of its internals each release and that there is no single answer that will completely satisfy here.&amp;#160; This is a...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/01/31/conor-vs-views-tables.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10122409" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author><category term="SQL" scheme="http://blogs.msdn.com/b/conor_cunningham_msft/archive/tags/SQL/" /><category term="Distributed Query" scheme="http://blogs.msdn.com/b/conor_cunningham_msft/archive/tags/Distributed+Query/" /><category term="View" scheme="http://blogs.msdn.com/b/conor_cunningham_msft/archive/tags/View/" /><category term="Query Optimization" scheme="http://blogs.msdn.com/b/conor_cunningham_msft/archive/tags/Query+Optimization/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/conor_cunningham_msft/archive/tags/SQL+Server/" /></entry><entry><title>Conor vs. How I got into computers…</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/01/01/conor-vs-how-i-got-into-computers.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/01/01/conor-vs-how-i-got-into-computers.aspx</id><published>2011-01-02T02:02:52Z</published><updated>2011-01-02T02:02:52Z</updated><content type="html">I thought I’d do a small post about some of the reasons I got into computers since I’ve randomly had a few opportunities to revisit them.&amp;#160; Tron 2 came out recently, reminding me of the original movie.&amp;#160; Additionally, I went home for the holidays and found some of the early books I used when doing some of my early programming… (So, if you don’t care about these, you can skip this post and I’ll get back to database stuff next post :)). TRON: This was one of the first movies I saw “in the theater...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2011/01/01/conor-vs-how-i-got-into-computers.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10110849" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. more SARGable predicates</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/12/18/conor-vs-more-sargable-predicates.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/12/18/conor-vs-more-sargable-predicates.aspx</id><published>2010-12-18T16:51:14Z</published><updated>2010-12-18T16:51:14Z</updated><content type="html">I got another question in the mail this week from another reader: &amp;#160; Hi Conor Thanks for an interesting blog. Maybe you have the answer to this question: Why I SQL Server having performance problems with these types of expressions: ------------------------------------------------------------------------------------------ DECLARE TABLE dbo.Archive( LastName varchar(50), Reference INT, SocialSecurityNumer VARCHAR(10) ) ----------------- DECLARE dbo.MySearch @Reference INT, @SSN VARCHAR(10) AS BEGIN...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/12/18/conor-vs-more-sargable-predicates.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10106830" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. Join Search Space</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/12/18/conor-vs-join-search-space.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/12/18/conor-vs-join-search-space.aspx</id><published>2010-12-18T16:18:47Z</published><updated>2010-12-18T16:18:47Z</updated><content type="html">I received a question this week from a reader about how SQL Server determines the join order if there are more than 6 joins in a query. There are a lot of details about how SQL Server’s optimizer works here, and some of them are beyond the level of detail that I can/will share publicly. It is not really possible to search all possible join orders.&amp;#160; If you consider a set of tables A, B, C, … that are joined together using inner joins, there are different possible orders that could come out: ABC...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/12/18/conor-vs-join-search-space.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10106828" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. Row Growth in Read Committed Snapshot Isolation</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/11/16/conor-vs-row-growth-in-read-committed-snapshot-isolation.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/11/16/conor-vs-row-growth-in-read-committed-snapshot-isolation.aspx</id><published>2010-11-16T19:23:59Z</published><updated>2010-11-16T19:23:59Z</updated><content type="html">At PASS last week, I was asked about fragmentation caused by RCSI when a row is first converted to use RCSI. I talked to some people in the team and found that one of my colleagues had already written a nice blog entry about it. http://blogs.msdn.com/b/sqlserverstorageengine/archive/2008/03/30/overhead-of-row-versioning.aspx?wa=wsignin1.0 Basically, the overhead is taken once and you can do index rebuild to complete the process if desired.&amp;#160; RCSI is still a pretty cool feature and I think people...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/11/16/conor-vs-row-growth-in-read-committed-snapshot-isolation.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10092120" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. PASS (Slide Decks)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/11/15/conor-vs-pass-slide-decks.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/11/15/conor-vs-pass-slide-decks.aspx</id><published>2010-11-15T17:32:17Z</published><updated>2010-11-15T17:32:17Z</updated><content type="html">I had a great time at PASS last week and got to talk to a lot of wonderful customers- thank you! As promised, here are the decks: Update Talk Performance Troubleshooting Talk Happy Querying! Conor...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/11/15/conor-vs-pass-slide-decks.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10091358" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. PASS</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/11/08/conor-vs-pass.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/11/08/conor-vs-pass.aspx</id><published>2010-11-08T15:35:10Z</published><updated>2010-11-08T15:35:10Z</updated><content type="html">It’s one of the most exciting weeks of the year to be a SQL Server junkie – PASS is this week in Seattle! I’m giving a talk on the many details of Update queries.&amp;#160; It will cover the various operators and how they work, why the plan shapes look the way they do, where things like locks get taken in the plan, etc.&amp;#160; Implicit in this is that you can get a sense for how to tell when the system is doing the right thing/what you want and how to impact it, as updates are heavily influenced by schema...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/11/08/conor-vs-pass.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10087632" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. PASS (November in Seattle)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/09/28/conor-vs-pass-november-in-seattle.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/09/28/conor-vs-pass-november-in-seattle.aspx</id><published>2010-09-29T02:08:42Z</published><updated>2010-09-29T02:08:42Z</updated><content type="html">A note to let you know that I will be at PASS this year and plan to give two talks (one in collaboration with a colleague of mine on the QP). One will be a 500 level talk on how Update queries work – lots and lots of gory details.&amp;#160; The other will be a 400 level talk (this is the collaboration talk) on how the QP team troubleshoots issues we see.&amp;#160; So, lots of detailed techniques we use when evaluating problematic systems (things that you can do as well). So, if you are considering going...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/09/28/conor-vs-pass-november-in-seattle.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10069043" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. Optional Parameters Redux – LIKE %</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/09/28/conor-vs-optional-parameters-redux-like.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/09/28/conor-vs-optional-parameters-redux-like.aspx</id><published>2010-09-29T02:05:47Z</published><updated>2010-09-29T02:05:47Z</updated><content type="html">A question from a reader (thank you, Price, for sending it in).&amp;#160; This is a follow up to my prior post on Optional parameters http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/04/22/conor-vs-optional-parameters.aspx . The question is whether using col LIKE @p where @p is ‘%’ in the case of no parameter is an acceptable workaround to the problems listed in the original post (basically index matching). The original formulation (@p is null or col = @p) was bad because it generally precluded...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/09/28/conor-vs-optional-parameters-redux-like.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10069042" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Conor vs. Updates – Talk (for those of you in Austin)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/08/16/conor-vs-updates-talk-for-those-of-you-in-austin.aspx" /><id>http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/08/16/conor-vs-updates-talk-for-those-of-you-in-austin.aspx</id><published>2010-08-16T20:03:45Z</published><updated>2010-08-16T20:03:45Z</updated><content type="html">I am giving a talk tomorrow (Tuesday) night at the Austin PASS group on how Update Queries are processed/optimized in SQL Server.&amp;#160; The talk will be at the Microsoft office in Austin (which recently moved). More details can be found at the CACTUS web page .&amp;#160; (I don’t know if they have my talk announcement up there yet, but hopefully it will be there soon) (I believe that I will be giving a longer version of this talk at the national PASS conference in Seattle in November, for those of you...(&lt;a href="http://blogs.msdn.com/b/conor_cunningham_msft/archive/2010/08/16/conor-vs-updates-talk-for-those-of-you-in-austin.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10050675" width="1" height="1"&gt;</content><author><name>Conor Cunningham [MSFT]</name><uri>http://blogs.msdn.com/Conor-Cunningham-_5B00_MSFT_5D00_/ProfileUrlRedirect.ashx</uri></author></entry></feed>
