<?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>Conor vs. SQL : SQL</title><link>http://blogs.msdn.com/conor_cunningham_msft/archive/tags/SQL/default.aspx</link><description>Tags: SQL</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Conor vs. UNIQUE in Index Definitions</title><link>http://blogs.msdn.com/conor_cunningham_msft/archive/2009/10/21/conor-vs-unique-in-index-definitions.aspx</link><pubDate>Wed, 21 Oct 2009 16:18:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9910695</guid><dc:creator>Conor Cunningham [MSFT]</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/conor_cunningham_msft/comments/9910695.aspx</comments><wfw:commentRss>http://blogs.msdn.com/conor_cunningham_msft/commentrss.aspx?PostID=9910695</wfw:commentRss><description>I gave a talk to the Austin-area PASS group last night on B-Tree indexing in SQL Server, and I received a question about whether to make clustered indexes UNIQUE or not (assuming the data is unique on the key columns).&amp;#160; The expectation was that this...(&lt;a href="http://blogs.msdn.com/conor_cunningham_msft/archive/2009/10/21/conor-vs-unique-in-index-definitions.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9910695" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/performance/default.aspx">performance</category></item><item><title>Conor vs. Isolation Level Upgrade on UPDATE/DELETE Cascading RI</title><link>http://blogs.msdn.com/conor_cunningham_msft/archive/2009/03/13/conor-vs-isolation-level-upgrade-on-update-delete-cascading-ri.aspx</link><pubDate>Fri, 13 Mar 2009 18:12:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9473253</guid><dc:creator>Conor Cunningham [MSFT]</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/conor_cunningham_msft/comments/9473253.aspx</comments><wfw:commentRss>http://blogs.msdn.com/conor_cunningham_msft/commentrss.aspx?PostID=9473253</wfw:commentRss><description>A customer recently asked our support organization about an unexplained series of range locks that they were seeing on a DELETE to a table with a foreign key. Here is the repro: &amp;#160; 1: create table Foo (FooId int not null primary key ) 2: create table...(&lt;a href="http://blogs.msdn.com/conor_cunningham_msft/archive/2009/03/13/conor-vs-isolation-level-upgrade-on-update-delete-cascading-ri.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9473253" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/locking/default.aspx">locking</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/DELETE/default.aspx">DELETE</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/CASCADING+RI/default.aspx">CASCADING RI</category></item><item><title>Conor vs. Non-ANSI NULLs, part 1</title><link>http://blogs.msdn.com/conor_cunningham_msft/archive/2009/02/08/conor-vs-non-ansi-nulls-part-1.aspx</link><pubDate>Mon, 09 Feb 2009 07:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9407981</guid><dc:creator>Conor Cunningham [MSFT]</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/conor_cunningham_msft/comments/9407981.aspx</comments><wfw:commentRss>http://blogs.msdn.com/conor_cunningham_msft/commentrss.aspx?PostID=9407981</wfw:commentRss><description>I was thinking about indexed views. Well, more specifically, I was thinking about why indexed views are hard to use. One of the reasons that they are hard is that there are just so many restrictions. Anyways, one of the things I'd like to better understand...(&lt;a href="http://blogs.msdn.com/conor_cunningham_msft/archive/2009/02/08/conor-vs-non-ansi-nulls-part-1.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9407981" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/ANSI/default.aspx">ANSI</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/ANSI_5F00_NULL/default.aspx">ANSI_NULL</category></item><item><title>Conor vs. MERGE and PRIMARY KEY collisions</title><link>http://blogs.msdn.com/conor_cunningham_msft/archive/2009/02/04/conor-vs-merge-and-primary-key-collisions.aspx</link><pubDate>Thu, 05 Feb 2009 05:51:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9397362</guid><dc:creator>Conor Cunningham [MSFT]</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/conor_cunningham_msft/comments/9397362.aspx</comments><wfw:commentRss>http://blogs.msdn.com/conor_cunningham_msft/commentrss.aspx?PostID=9397362</wfw:commentRss><description>MERGE is a new operation added in SQL Server 2008. It has all sorts of knobs, bells, and whistles. The primary value of this feature is to collapse multiple query statements into one query statement. Overall, this avoids the “overhead” necessary to run...(&lt;a href="http://blogs.msdn.com/conor_cunningham_msft/archive/2009/02/04/conor-vs-merge-and-primary-key-collisions.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9397362" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/MERGE/default.aspx">MERGE</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/locking/default.aspx">locking</category></item><item><title>OPTIMIZE FOR UNKNOWN - How could that possibly make any sense???</title><link>http://blogs.msdn.com/conor_cunningham_msft/archive/2009/01/16/optimize-for-unknown-how-could-that-possibly-make-any-sense.aspx</link><pubDate>Fri, 16 Jan 2009 18:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9328921</guid><dc:creator>Conor Cunningham [MSFT]</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/conor_cunningham_msft/comments/9328921.aspx</comments><wfw:commentRss>http://blogs.msdn.com/conor_cunningham_msft/commentrss.aspx?PostID=9328921</wfw:commentRss><description>Yes, I'm alive. I have been chatting with my wife about the times I need to "go dark" - in this case, I am working on features that I can't discuss yet, other than to say that I am *very* excited to go to work every day.. (well, since I work out of my...(&lt;a href="http://blogs.msdn.com/conor_cunningham_msft/archive/2009/01/16/optimize-for-unknown-how-could-that-possibly-make-any-sense.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9328921" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/Optimization/default.aspx">Optimization</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/hints/default.aspx">hints</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/Cardinality/default.aspx">Cardinality</category></item><item><title>The vote is in! (CHECK CONSTRAINTS vs. TRIGGERS vs. STORED PROCEDURE business logic)</title><link>http://blogs.msdn.com/conor_cunningham_msft/archive/2008/11/03/the-vote-is-in-check-constraints-vs-triggers-vs-stored-procedure-business-logic.aspx</link><pubDate>Tue, 04 Nov 2008 02:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9035968</guid><dc:creator>Conor Cunningham [MSFT]</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/conor_cunningham_msft/comments/9035968.aspx</comments><wfw:commentRss>http://blogs.msdn.com/conor_cunningham_msft/commentrss.aspx?PostID=9035968</wfw:commentRss><description>Thank you for everyone who "voted" - a great day to talk about the issues of the day :). After much research, I've found that we live in a divided country. Some of us like triggers. Others wouldn't be caught dead with a trigger and do lots of business...(&lt;a href="http://blogs.msdn.com/conor_cunningham_msft/archive/2008/11/03/the-vote-is-in-check-constraints-vs-triggers-vs-stored-procedure-business-logic.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9035968" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/CHECK/default.aspx">CHECK</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/TRIGGER/default.aspx">TRIGGER</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/STOREDPROC/default.aspx">STOREDPROC</category></item><item><title>More Business Logic Validation</title><link>http://blogs.msdn.com/conor_cunningham_msft/archive/2008/10/31/more-business-logic-validation.aspx</link><pubDate>Fri, 31 Oct 2008 22:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9027164</guid><dc:creator>Conor Cunningham [MSFT]</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/conor_cunningham_msft/comments/9027164.aspx</comments><wfw:commentRss>http://blogs.msdn.com/conor_cunningham_msft/commentrss.aspx?PostID=9027164</wfw:commentRss><description>I've gotten a few data points, but I don't think I've had enough yet to complete my sample. I'm still looking for people willing to describe how and where they implement business logic in their database applications. 1. CHECK CONSTRAINTS 2. TRIGGERS 3....(&lt;a href="http://blogs.msdn.com/conor_cunningham_msft/archive/2008/10/31/more-business-logic-validation.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9027164" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/CHECK/default.aspx">CHECK</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/TRIGGER/default.aspx">TRIGGER</category></item><item><title>CHECK Constraints vs. TRIGGERS</title><link>http://blogs.msdn.com/conor_cunningham_msft/archive/2008/10/28/check-constraints-vs-triggers.aspx</link><pubDate>Tue, 28 Oct 2008 18:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9020375</guid><dc:creator>Conor Cunningham [MSFT]</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/conor_cunningham_msft/comments/9020375.aspx</comments><wfw:commentRss>http://blogs.msdn.com/conor_cunningham_msft/commentrss.aspx?PostID=9020375</wfw:commentRss><description>I've been having a conversation with a customer about CHECK constraints and TRIGGERs, and I thought it would be good to survey some of our customers about how people use these features. I'm curious how many people encode business logic validation in CHECK...(&lt;a href="http://blogs.msdn.com/conor_cunningham_msft/archive/2008/10/28/check-constraints-vs-triggers.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9020375" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/CHECK/default.aspx">CHECK</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/TRIGGER/default.aspx">TRIGGER</category></item><item><title>CONVERT vs. CONVERT_IMPLICIT</title><link>http://blogs.msdn.com/conor_cunningham_msft/archive/2008/10/24/convert-vs-convert-implicit.aspx</link><pubDate>Fri, 24 Oct 2008 17:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9014769</guid><dc:creator>Conor Cunningham [MSFT]</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/conor_cunningham_msft/comments/9014769.aspx</comments><wfw:commentRss>http://blogs.msdn.com/conor_cunningham_msft/commentrss.aspx?PostID=9014769</wfw:commentRss><description>Today's question comes from a friend I have in Brazil. Please, tell-me one thing, is there any improvement in avoid Implicit Conversions forcing one explicit conversion? Or will QP behind the scenes execute the same SQL using the function CONVERT()? These...(&lt;a href="http://blogs.msdn.com/conor_cunningham_msft/archive/2008/10/24/convert-vs-convert-implicit.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9014769" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Foreign Keys are our friends...</title><link>http://blogs.msdn.com/conor_cunningham_msft/archive/2008/08/07/foreign-keys-are-our-friends.aspx</link><pubDate>Thu, 07 Aug 2008 20:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8841403</guid><dc:creator>Conor Cunningham [MSFT]</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/conor_cunningham_msft/comments/8841403.aspx</comments><wfw:commentRss>http://blogs.msdn.com/conor_cunningham_msft/commentrss.aspx?PostID=8841403</wfw:commentRss><description>I often find customers who question the value of database-enforced integrity constraints. While people often create primary keys, the foreign ones are perhaps a bit more .... well, foreign. Let's start at the beginning. In traditional, old-school database...(&lt;a href="http://blogs.msdn.com/conor_cunningham_msft/archive/2008/08/07/foreign-keys-are-our-friends.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8841403" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.msdn.com/conor_cunningham_msft/archive/tags/Optimization/default.aspx">Optimization</category></item></channel></rss>