<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www2.sqlblog.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">SELECT Hints, Tips, Tricks FROM Hugo Kornelis WHERE RDBMS = 'SQL Server'</title><subtitle type="html" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/atom.aspx</id><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/default.aspx" /><link rel="self" type="application/atom+xml" href="http://www2.sqlblog.com/blogs/hugo_kornelis/atom.aspx" /><generator uri="http://communityserver.org" version="2.1.61129.1">Community Server</generator><updated>2011-11-01T21:43:00Z</updated><entry><title>Why does SQL Server not compress data on LOB pages?</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2013/01/31/why-does-sql-server-not-compress-data-on-lob-pages.aspx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2013/01/31/why-does-sql-server-not-compress-data-on-lob-pages.aspx</id><published>2013-01-31T09:08:03Z</published><updated>2013-01-31T09:08:03Z</updated><content type="html">Enabling compression on your database can save you a lot of space – but when you have a lot of varchar(max) or nvarchar(max) data, you may find the savings to be limited. This is because only data stored on the data and index pages is compressed, and data for the (max) data types is generally stored on other, special-purpose pages – either text/image pages, or row overflow data pages. (See Understanding Pages and Extents in Books Online). This is from the SQL Server 2008R2 Books Online, but it is...(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2013/01/31/why-does-sql-server-not-compress-data-on-lob-pages.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=47406" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author><category term="Internals" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Internals/default.aspx" /><category term="Compression" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Compression/default.aspx" /></entry><entry><title>Bleeding Edge 2012 – session material</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/10/27/bleeding-edge-2012-session-material.aspx" /><link rel="enclosure" type="application/zip" length="416568" href="http://www2.sqlblog.com/blogs/hugo_kornelis/attachment/45812.ashx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/10/27/bleeding-edge-2012-session-material.aspx</id><published>2012-10-27T10:46:00Z</published><updated>2012-10-27T10:46:00Z</updated><content type="html">As promised, here are the slide deck and demo code I used for my presentation at the Bleeding Edge 2012 conference in Laško, Slovenia. Okay, I promised to have them up by Tuesday or Wednesday at worst, and it is now Saturday – my apologies for the delay. Thanks again to all the attendees of my session. I hope you enjoyed it, and if you have any question then please don’t hesitate to get in touch with me. I had a great time in Slovenia, both during the event and in the after hours. Even if everything...(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/10/27/bleeding-edge-2012-session-material.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=45812" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author><category term="Internals" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Internals/default.aspx" /><category term="Conference" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Conference/default.aspx" /><category term="People" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/People/default.aspx" /><category term="Indexing" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Indexing/default.aspx" /><category term="SQL Server 2012" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/SQL+Server+2012/default.aspx" /><category term="Columnstore" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Columnstore/default.aspx" /></entry><entry><title>SQLRally Nordic 2012 – session material</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/10/05/sqlrally-nordic-2012-session-material.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="994574" href="http://www2.sqlblog.com/blogs/hugo_kornelis/attachment/45456.ashx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/10/05/sqlrally-nordic-2012-session-material.aspx</id><published>2012-10-05T16:49:00Z</published><updated>2012-10-05T16:49:00Z</updated><content type="html">As some of you might know, I have been to SQLRally Nordic 2012 in Copenhagen earlier this week. I was able to attend many interesting sessions, I had a great time catching up with old friends and meeting new people, and I was allowed to present a session myself. I understand that the PowerPoint slides and demo code I used in my session will be made available through the SQLRally website – but I don’t know how long it will take the probably very busy volunteers to do so. And I promised my attendees...(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/10/05/sqlrally-nordic-2012-session-material.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=45456" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author><category term="T-SQL" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/T-SQL/default.aspx" /><category term="Performance" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Performance/default.aspx" /><category term="Conference" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Conference/default.aspx" /><category term="People" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/People/default.aspx" /><category term="UDF" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/UDF/default.aspx" /></entry><entry><title>T-SQL User-Defined Functions: the good, the bad, and the ugly (part 4)</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/08/25/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-4.aspx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/08/25/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-4.aspx</id><published>2012-08-24T21:07:00Z</published><updated>2012-08-24T21:07:00Z</updated><content type="html">Scalar user-defined functions are bad for performance. I already showed that for T-SQL scalar user-defined functions without and with data access, and for most CLR scalar user-defined functions without data access , and in this blog post I will show that CLR scalar user-defined functions with data access fit into that picture. First attempt Sticking to my simplistic example of finding the triple of an integer value by reading it from a pre-populated lookup table and following the standard recommendations...(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/08/25/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-4.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=44860" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author><category term="T-SQL" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/T-SQL/default.aspx" /><category term="CLR" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/CLR/default.aspx" /><category term="UDF" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/UDF/default.aspx" /></entry><entry><title>Upcoming speaking engagements – want to meet me?</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/08/24/upcoming-speaking-engagements-want-to-meet-me.aspx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/08/24/upcoming-speaking-engagements-want-to-meet-me.aspx</id><published>2012-08-23T21:28:00Z</published><updated>2012-08-23T21:28:00Z</updated><content type="html">I have a very busy time ahead of me, with lots of travel, lots of speaking engagements, and hence lots of opportunity to meet and catch up with what has become known as the SQL Family. (An excellent term, by the way – it describes exactly how it has always felt to me!) So, for everyone who want to know when and where they can meet me (as well as for everyone who wants to make sure to stay as far away from me as possible), here is my schedule for the rest of the year, in chronological order: · September...(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/08/24/upcoming-speaking-engagements-want-to-meet-me.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=44849" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author><category term="Conference" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Conference/default.aspx" /><category term="People" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/People/default.aspx" /></entry><entry><title>T-SQL User-Defined Functions: the good, the bad, and the ugly (part 3)</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/06/29/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-3.aspx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/06/29/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-3.aspx</id><published>2012-06-29T18:44:00Z</published><updated>2012-06-29T18:44:00Z</updated><content type="html">I showed why T-SQL scalar user-defined functions are bad for performance in two previous posts. In this post, I will show that CLR scalar user-defined functions are bad as well (though not always quite as bad as T-SQL scalar user-defined functions). I will admit that I had not really planned to cover CLR in this series. But shortly after publishing the first part , I received an email from Adam Machanic , which basically said that I should make clear that the information in that post does not apply...(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/06/29/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-3.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=44146" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author><category term="T-SQL" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/T-SQL/default.aspx" /><category term="Performance" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Performance/default.aspx" /><category term="UDF" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/UDF/default.aspx" /></entry><entry><title>T-SQL User-Defined Functions: the good, the bad, and the ugly (part 2)</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/05/26/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-2.aspx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/05/26/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-2.aspx</id><published>2012-05-26T14:56:00Z</published><updated>2012-05-26T14:56:00Z</updated><content type="html">In a previous blog post , I demonstrated just how much you can hurt your performance by encapsulating expressions and computations in a user-defined function (UDF). I focused on scalar functions that didn’t include any data access. In this post, I will complete the discussion on scalar UDFs by covering the effect of data access in a scalar UDF. Note that, like the previous post, this all applies to T-SQL user-defined functions only. SQL Server also supports CLR user-defined functions (written in...(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/05/26/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-2.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=43590" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author><category term="T-SQL" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/T-SQL/default.aspx" /><category term="UDF" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/UDF/default.aspx" /></entry><entry><title>T-SQL User-Defined Functions: the good, the bad, and the ugly (part 1)</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/05/20/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-1.aspx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/05/20/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-1.aspx</id><published>2012-05-20T14:08:00Z</published><updated>2012-05-20T14:08:00Z</updated><content type="html">So you thought that encapsulating code in user-defined functions for easy reuse is a good idea? Think again! SQL Server supports three types of user-defined functions. Only one of them qualifies as good. The other two – well, the title says it all, doesn’t it? The bad: scalar functions A scalar user-defined function (UDF) is very much like a stored procedure, except that it always returns a single value of a predefined data type – and because of that property, it isn’t invoked with an EXECUTE statement,...(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/05/20/t-sql-user-defined-functions-the-good-the-bad-and-the-ugly-part-1.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=43466" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author><category term="T-SQL" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/T-SQL/default.aspx" /><category term="Personal" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Personal/default.aspx" /><category term="UDF" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/UDF/default.aspx" /></entry><entry><title>Principles of Modeling: Avoid Redundancy</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/05/05/principles-of-modeling-avoid-redundancy.aspx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/05/05/principles-of-modeling-avoid-redundancy.aspx</id><published>2012-05-05T19:31:12Z</published><updated>2012-05-05T19:31:12Z</updated><content type="html">In 1994, I learned a method for data modeling that is based on three principles. I immediately knew that these principles should embraced by anyone who does any data modeling or process modeling. Or almost any other job, for that matter. I have described these principles in three previous blog posts: the Jargon Principle , the Concreteness Principle , and the Reproducibility Principle . But I have later found that there are more principles and guidelines that are important to keep in mind when modeling....(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/05/05/principles-of-modeling-avoid-redundancy.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=43213" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author></entry><entry><title>The Curious Case of the Optimizer that doesn’t</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/05/04/the-curious-case-of-the-optimizer-that-doesn-t.aspx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/05/04/the-curious-case-of-the-optimizer-that-doesn-t.aspx</id><published>2012-05-03T22:13:00Z</published><updated>2012-05-03T22:13:00Z</updated><content type="html">The optimizer is the part of SQL Server that takes your query and reorders and rearranges your query to find the optimal execution plan. In theory. In practice, that doesn’t always work out well. Often, the optimizer manages to come up with brilliant ways to execute a complex query very efficiently – but sometimes, it misses an option that appears to be so simple that you can only stare in utter amazement at the execution plan before going to the Connect site. Here is an example I recently ran into....(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/05/04/the-curious-case-of-the-optimizer-that-doesn-t.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=43164" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author><category term="T-SQL" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/T-SQL/default.aspx" /><category term="Performance" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Performance/default.aspx" /><category term="SQL Server 2008" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/SQL+Server+2008/default.aspx" /><category term="SQL Server 2012" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/SQL+Server+2012/default.aspx" /></entry><entry><title>Slides and demo code for Columnstore Index session</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/04/04/slides-and-demo-code-for-columnstore-index-session.aspx" /><link rel="enclosure" type="application/.zip" length="176115" href="http://www2.sqlblog.com/blogs/hugo_kornelis/attachment/42695.ashx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/04/04/slides-and-demo-code-for-columnstore-index-session.aspx</id><published>2012-04-04T20:58:00Z</published><updated>2012-04-04T20:58:00Z</updated><content type="html">Almost a week has passed after SQLBits X in London , so I guess it’s about time for me to share the slides and demo code of my session on columnstore indexes. After all, I promised people I would do that – especially when I found out that I had enough demos prepared to fill two sessions! I made some changes to the demo code. I added extra comments, not only to the demos I could not explain and run during the session, but also to the rest, so that people who missed the session will also be able to...(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/04/04/slides-and-demo-code-for-columnstore-index-session.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=42695" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author><category term="Performance" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Performance/default.aspx" /><category term="Conference" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Conference/default.aspx" /><category term="Indexing" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Indexing/default.aspx" /><category term="Columnstore" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Columnstore/default.aspx" /></entry><entry><title>80% off for SQL Azure!</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/04/01/80-off-for-sql-azure.aspx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/04/01/80-off-for-sql-azure.aspx</id><published>2012-04-01T14:50:00Z</published><updated>2012-04-01T14:50:00Z</updated><content type="html">I have spent the last three days at SQLBits X in London – a truly great experience! There were lots of quality sessions, but I also enjoyed meeting new people and catching up with old friends. One of these friends (and I hope he’s still a friend after I post this) is Buck Woody . Not only a great and humorous speaker, but also a very nice fellow – for those who don’t mind being teased every now and then. When we were chatting, he told me that he was planning to announce a special access code to allow...(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/04/01/80-off-for-sql-azure.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=42620" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author></entry><entry><title>Busy months ahead</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/02/16/busy-months-ahead.aspx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/02/16/busy-months-ahead.aspx</id><published>2012-02-16T19:48:01Z</published><updated>2012-02-16T19:48:01Z</updated><content type="html">Almost two months have passed since my last blog post. And while it’s true that I’ve had (much) longer breaks, I do have a good reason now. All the time that I would normally at least in part spend on preparing new blog posts is now reserved for preparing presentations for a few upcoming events. I’ll give you an overview – who knows, maybe you’ll have a chance to attend one of them and meet me there? I’m looking forward to it! On Saturday, February 25, I’ll present my session on “Advanced Indexing”...(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2012/02/16/busy-months-ahead.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=41778" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author><category term="T-SQL" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/T-SQL/default.aspx" /><category term="Conference" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Conference/default.aspx" /><category term="Indexing" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Indexing/default.aspx" /><category term="SQL Server 2008" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/SQL+Server+2008/default.aspx" /><category term="Database design" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Database+design/default.aspx" /><category term="Data modeling" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Data+modeling/default.aspx" /><category term="SQL Server 2012" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/SQL+Server+2012/default.aspx" /></entry><entry><title>Principles of Modeling: the Reproducibility Principle</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2011/12/22/principles-of-modeling-the-reproducibility-principle.aspx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2011/12/22/principles-of-modeling-the-reproducibility-principle.aspx</id><published>2011-12-22T20:48:07Z</published><updated>2011-12-22T20:48:07Z</updated><content type="html">A year or so ago, I watched a few episodes of a Dutch television program that had an interesting format. The name of the series was (or is, I have no idea if it still runs) “Sterren op het doek” (“Stars on Canvas”). Every episode featured a Dutch celebrity, three painters, and an interviewer. For the program, the three painters each paint a picture of the celebrity (who is interviewed while posing – and because this takes a long time, the interviews were typically quite deep, and had enough material...(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2011/12/22/principles-of-modeling-the-reproducibility-principle.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=40595" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author><category term="Conference" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Conference/default.aspx" /><category term="Database design" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Database+design/default.aspx" /><category term="Data modeling" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Data+modeling/default.aspx" /></entry><entry><title>Bin packing part 6: Further improvements</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2011/11/01/bin-packing-part-6-further-improvements.aspx" /><link rel="enclosure" type="application/zip" length="17256" href="http://www2.sqlblog.com/blogs/hugo_kornelis/attachment/39524.ashx" /><id>http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2011/11/01/bin-packing-part-6-further-improvements.aspx</id><published>2011-11-01T18:43:00Z</published><updated>2011-11-01T18:43:00Z</updated><content type="html">In part 5 of my series on the bin packing problem, I presented a method that sits somewhere in between the true row-by-row iterative characteristics of the first three parts and the truly set-based approach of the fourth part. I did use iteration, but each pass through the loop would use a set-based statement to process a lot of rows at once. Since that statement is fairly complex, I am sure that a single execution of it is far from cheap – but the algorithm used is efficient enough that the entire...(&lt;a href="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/2011/11/01/bin-packing-part-6-further-improvements.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=39524" width="1" height="1"&gt;</content><author><name>Hugo Kornelis</name><uri>http://www2.sqlblog.com/members/Hugo+Kornelis.aspx</uri></author><category term="Performance" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Performance/default.aspx" /><category term="Cursor vs Set" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Cursor+vs+Set/default.aspx" /><category term="Bin Packing" scheme="http://www2.sqlblog.com/blogs/hugo_kornelis/archive/tags/Bin+Packing/default.aspx" /></entry></feed>