<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.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>Rob Farley : lobsterpot, sql</title><link>http://sqlblog.com/blogs/rob_farley/archive/tags/lobsterpot/sql/default.aspx</link><description>Tags: lobsterpot, sql</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>T-SQL in Chicago – the LobsterPot teams with DataEducation</title><link>http://sqlblog.com/blogs/rob_farley/archive/2012/03/27/t-sql-in-chicago-the-lobsterpot-teams-with-dataeducation.aspx</link><pubDate>Mon, 26 Mar 2012 13:18:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:42489</guid><dc:creator>Rob Farley</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/rob_farley/comments/42489.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/rob_farley/commentrss.aspx?PostID=42489</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/rob_farley/rsscomments.aspx?PostID=42489</wfw:comment><description>&lt;p&gt;In May, I’ll be in the US. I have &lt;a href="http://www.sqlpass.org/AboutPASS/BoardofDirectors.aspx" target="_blank"&gt;board meetings&lt;/a&gt; for PASS at the SQLRally event in Dallas, and then I’m going to be spending a bit of time in Chicago.&lt;/p&gt;  &lt;p&gt;The big news is that while I’m in Chicago (May&amp;nbsp;14-16), I’m going to teach my “Advanced T-SQL Querying and Reporting: Building Effectiveness” course. This is a course that I’ve been teaching since the 2005 days, and have modified over time for 2008 and 2012. It’s very much my most popular course, and I love teaching it. Let me tell you why.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://dataeducation.com/sqltraining/advanced-t-sql-querying-and-reporting-building-effectiveness" target="_blank"&gt;&lt;img style="margin:5px;border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;float:right;display:inline;background-image:none;" title="Data Education" border="0" alt="Data Education" align="right" src="http://sqlblog.com/blogs/rob_farley/dataeducation_4CA60FA4.png" width="345" height="89"&gt;&lt;/a&gt;For years, I wrote queries and thought I was good at it. I was a developer. I’d written a lot of C (and other, more fun languages like Prolog and Lisp) at university, and then got into the ‘real world’ and coded in VB, PL/SQL, and so on through to C#, and saw SQL (whichever database system it was) as just a way of getting the data back. I could write a query to return just about whatever data I wanted, and that was good. I was better at it than the people around me, and that helped. (It didn’t help my progression into management, then it just became a frustration, but for the most part, it was good to know that I was good at this particular thing.)&lt;/p&gt;  &lt;p&gt;But then I discovered the other side of querying – the execution plan. I started to learn about the translation from what I’d written into the plan, and this impacted my query-writing significantly. I look back at the queries I wrote before I understood this, and shudder. I wrote queries that were &lt;strong&gt;correct&lt;/strong&gt;, but often a long way from &lt;strong&gt;effective&lt;/strong&gt;. I’d done query tuning, but had largely done it without considering the plan, just inferring what indexes would help.&lt;/p&gt;  &lt;p&gt;This is not a performance-tuning course. It’s focused on the T-SQL that you read and write. But performance is a significant and recurring theme. Effective T-SQL has to be about performance – it’s the biggest way that a query becomes effective. There are other aspects too though – such as using constructs better. For example – I can write code that modifies data nicely, but if I haven’t learned about the MERGE statement and the way that it can impact things, I’m missing a few tricks.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lobsterpot.com.au/" target="_blank"&gt;&lt;img style="margin:5px;border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;float:right;display:inline;background-image:none;" title="LobsterPot Solutions" border="0" alt="LobsterPot Solutions" align="right" src="http://sqlblog.com/blogs/rob_farley/lp_white_350_59DC72EA.png" width="220" height="184"&gt;&lt;/a&gt;If you’re going to do this course, a good place to be is the situation I was in a few years before I wrote this course. You’re probably comfortable with writing T-SQL queries. You know how to make a SELECT statement do what you need it to, but feel there has to be a better way. You can write JOINs easily, and understand how to use LEFT JOIN to make sure you don’t filter out rows from the first table, but you’re coding blind.&lt;/p&gt;  &lt;p&gt;The first module I cover is on Query Execution. Take a look at the Course Outline at &lt;a href="http://dataeducation.com/sqltraining/advanced-t-sql-querying-and-reporting-building-effectiveness" target="_blank"&gt;Data Education’s website&lt;/a&gt;. The first part of the first module is on the components of a SELECT statement (where I make you think harder about GROUP BY than you probably have before), but then we jump straight into Execution Plans. Some stuff on indexes is in there too, as is simplification and SARGability. Some of this is stuff that you may have heard me present on at conferences, but here you have me for three days straight. I’m sure you can imagine that we revisit these topics throughout the rest of the course as well, and you’d be right. In the second and third modules we look at a bunch of other aspects, including some of the T-SQL constructs that lots of people don’t know, and various other things that can help your T-SQL be, well, more effective.&lt;/p&gt;  &lt;p&gt;I’ve had quite a lot of people do this course and be itching to get back to work even on the first day. That’s not a comment about the jokes I tell, but because people want to look at the queries they run.&lt;/p&gt;  &lt;p&gt;LobsterPot Solutions is thrilled to be partnering with Data Education to bring this training to Chicago. &lt;a href="http://dataeducation.com/sqltraining/advanced-t-sql-querying-and-reporting-building-effectiveness" target="_blank"&gt;Visit their website to register for the course&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/rob_farley" target="_blank"&gt;@rob_farley&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=42489" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/sql/default.aspx">sql</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/lobsterpot/default.aspx">lobsterpot</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/professional+development/default.aspx">professional development</category></item><item><title>Be the surgeon</title><link>http://sqlblog.com/blogs/rob_farley/archive/2012/03/13/be-the-surgeon.aspx</link><pubDate>Tue, 13 Mar 2012 00:13:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:42260</guid><dc:creator>Rob Farley</dc:creator><slash:comments>6</slash:comments><comments>http://sqlblog.com/blogs/rob_farley/comments/42260.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/rob_farley/commentrss.aspx?PostID=42260</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/rob_farley/rsscomments.aspx?PostID=42260</wfw:comment><description>&lt;p&gt;It’s a phrase I use often, especially when teaching, and I wish I had realised the concept years earlier. (And of course, fits with this month’s T-SQL Tuesday topic, hosted by &lt;a href="http://sqlblog.com/blogs/argenis_fernandez/archive/2012/03/05/t-sql-tuesday-028-jack-of-all-trades-master-of-none.aspx" target="_blank"&gt;Argenis Fernandez&lt;/a&gt;)&lt;a href="http://sqlblog.com/blogs/argenis_fernandez/archive/2012/03/05/t-sql-tuesday-028-jack-of-all-trades-master-of-none.aspx" target="_blank"&gt;&lt;img width="170" height="170" title="TSQL2sDay150x150" align="right" style="margin:5px;border:0px currentColor;padding-top:0px;padding-right:0px;padding-left:0px;float:right;display:inline;background-image:none;" alt="TSQL2sDay150x150" src="http://sqlblog.com/blogs/rob_farley/TSQL2sDay150x150_30B9E11A.jpg" border="0"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;When I’m sick enough to go to the doctor, I see a GP. I used to typically see the same guy, but he’s moved on now. However, when he has been able to roughly identify the area of the problem, I get referred to a specialist, sometimes a surgeon.&lt;/p&gt;  &lt;p&gt;Being a surgeon requires a refined set of skills. It’s why they often don’t like to be called “Doctor”, and prefer the traditional “Mister” (the history is that the doctor used to make the diagnosis, and then hand the patient over to the person who didn’t have a doctorate, but rather was an expert cutter, typically from a background in butchering). But if you ask the surgeon about the pain you have in your leg sometimes, you’ll get told to ask your GP. It’s not that your surgeon isn’t interested – they just don’t know the answer.&lt;/p&gt;  &lt;p&gt;IT is the same now.&lt;/p&gt;  &lt;p&gt;That wasn’t something that I really understood when I got out of university. I knew there was a lot to know about IT – I’d just done an honours degree in it. But I also knew that I’d done well in just about all my subjects, and felt like I had a handle on everything. I got into developing, and still felt that having a good level of understanding about every aspect of IT was a good thing.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;This got me through for the first six or seven years of my career.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;But then I started to realise that I couldn’t compete.&lt;/p&gt;  &lt;p&gt;I’d moved into management, and was spending my days running projects, rather than writing code. The kids were getting older. I’d had a bad back injury (ask anyone with chronic pain how it affects&amp;nbsp; your ability to concentrate, retain information, etc). But most of all, IT was getting larger.&lt;/p&gt;  &lt;p&gt;I knew kids without lives who knew more than I did. And I felt like I could easily identify people who were better than me in whatever area I could think of. Except writing queries (this was before I discovered technical communities, and people like &lt;a href="http://sqlblog.com/blogs/paul_white" target="_blank"&gt;Paul White&lt;/a&gt; and &lt;a href="http://sqlblogcasts.com/blogs/sqlandthelike/" target="_blank"&gt;Dave Ballantyne&lt;/a&gt;). And so I figured I’d specialise.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;I wish I’d done it years earlier.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Now, I can tell you plenty of people who are better than me at any area you can pick. But there are also more people who might consider listing me in some of their lists too. If I’d stayed the GP, I’d be stuck in management, and finding that there were better managers than me too.&lt;/p&gt;  &lt;p&gt;If you’re reading this, SQL could well be your thing. But it might not be either. Your thing might not even be in IT. Find out, and then see if you can be a world-beater at it.&lt;/p&gt;  &lt;p&gt;But it gets even better, because you can find other people to complement the things that you’re not so good at.&lt;/p&gt;  &lt;p&gt;My company, &lt;a href="http://lobsterpot.com.au/" target="_blank"&gt;LobsterPot Solutions&lt;/a&gt;, has six people in it at the moment. I’ve hand-picked those six people, along with the one who quit. The great thing about it is that I’ve been able to pick people who don’t necessarily specialise in the same way as me. I don’t write their T-SQL for them – generally they’re good enough at that themselves. But I’m on-hand if needed. Consider &lt;a href="http://www.rogernoble.com" target="_blank"&gt;Roger Noble&lt;/a&gt;, for example. He’s doing stuff in HTML5 and jQuery that I could never dream of doing to create an amazing &lt;a href="http://www.rogernoble.com/2012/02/02/addressing-the-elephant-in-the-room-the-html5-pivotviewer/" target="_blank"&gt;HTML5 version of PivotViewer&lt;/a&gt;. Or &lt;a href="https://twitter.com/ashley_adelaide" target="_blank"&gt;Ashley Sewell&lt;/a&gt;, a guy who does project management far better than I do. I could go on. My team is brilliant, and I love them to bits. We’re all surgeons, and when we work together, I like to think we’re pretty good!&lt;/p&gt;  &lt;p&gt;&lt;a href="https://twitter.com/rob_farley" target="_blank"&gt;@rob_farley&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=42260" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/sql/default.aspx">sql</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/t-sql+tuesday/default.aspx">t-sql tuesday</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/lobsterpot/default.aspx">lobsterpot</category></item><item><title>LobsterPot submissions for SQLPASS</title><link>http://sqlblog.com/blogs/rob_farley/archive/2011/05/06/lobsterpot-submissions-for-sqlpass.aspx</link><pubDate>Fri, 06 May 2011 04:05:32 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:35495</guid><dc:creator>Rob Farley</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/rob_farley/comments/35495.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/rob_farley/commentrss.aspx?PostID=35495</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/rob_farley/rsscomments.aspx?PostID=35495</wfw:comment><description>&lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:5px 10px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="PASSSummit2011" border="0" alt="PASSSummit2011" align="right" src="http://sqlblog.com/blogs/rob_farley/PASSSummit2011_4250BB92.jpg" width="175" height="74" /&gt;My guys are great! When PASS started accepting abstract submissions for their Summit (in October this year), some of the &lt;a href="http://lobsterpot.com.au/" target="_blank"&gt;LobsterPot&lt;/a&gt; employees immediately started looking into ideas for talks they could do. We rate communication as one of our key values at LobsterPot, and all my staff are keen presenters. &lt;/p&gt;  &lt;br /&gt; &lt;hr style="width:75%;" /&gt;  &lt;p&gt;&lt;a href="http://rogernoble.com" target="_blank"&gt;Roger Noble&lt;/a&gt; was at the PASS Summit with me last year, and has since spoken at both the Adelaide SQL Server User Group and Adelaide SharePoint User Group. Considering the work he’s done in &lt;a href="http://www.rogernoble.com/2010/12/21/enhanced-pivotviewer/" target="_blank"&gt;data visualisation with PivotViewer&lt;/a&gt; over the past year, he was keen to be able to submit a session on that. This technology is seriously cool stuff – quite a few of our clients have been very interested in it and are now using PivotViewer to get at their data in new ways. You can see examples of Roger’s work at &lt;a href="http://pivot.lobsterpot.com.au" target="_blank"&gt;http://pivot.lobsterpot.com.au&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Get even more from PivotViewer (Roger Noble)&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;With the release of the Silverlight PivotViewer control from Microsoft in June 2010 we saw the beginning of a new direction for data visualisation and interactivity, allowing data to be browsed and filtered in ways that highlighted information that could have easily been missed. This session will show you how to take the PivotViewer control and enhance it even further to provide even more ways to display your data, including placing information on maps, and showing extra information in the PivotViewer tiles according to the zoom level. From sourcing data from PowerPivot and SharePoint 2010, using Visual Studio 2010 to add new functionality and improvements in future versions this session will show the range of ways that PivotViewer can effectively be used in your organisation.&lt;/p&gt; &lt;/blockquote&gt;  &lt;hr style="width:75%;" /&gt;  &lt;p&gt;Like most of the team, Ashley Sewell has been doing a bunch of work with clients implementing cubes and reports. The talk he’s put in reflects a very common emotion that he gets from clients when they first start talking about Business Intelligence. They want to know that they’re not just getting their data in a different format, but that they’re going to be able to reach into the data themselves and realise that ‘Analysis’ aspect of SSAS. Ashley used to be tertiary lecturer, and understands the importance of giving presentations that are useful as well as at an appropriate technical level. This talk will be excellent, and I really hope it gets picked.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;So you've got a Cube. What's Next? (Ashley Sewell)&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Did you ever get to the end of an Analysis Services session thinking &amp;quot;Cubes sound great but what can I show the analysts and execs back at work to woo them?&amp;quot;. If your answer is yes then this session is for you. You will be taken through some of the Business Intelligence reporting and dashboarding available using a combination of PerformancePoint Services 2010 and Reporting Services 2008 R2 with particular emphasis on combining the best of each offering to maximise the impact of your dashboards. You can expect to leave this session with a deep enough understanding (and a list of gotchas) to enable you to create your own dashboards and data visualizations that bring the data within your cube to life on the web.&lt;/p&gt; &lt;/blockquote&gt;  &lt;hr style="width:75%;" /&gt;  &lt;p&gt;As expected, I’ve put a few submissions – a pre-conference seminar and two regular sessions.&lt;/p&gt;  &lt;p&gt;The pre-con is an enhanced version of the one I did at &lt;a href="http://www.sqlbits.com" target="_blank"&gt;SQLBits 7&lt;/a&gt;. In that, I go through a bunch of T-SQL queries that could have been fixed using T-SQL that most people aren’t aware of. For example – many people would shy away from something like &lt;font face="Consolas"&gt;ORDER BY MAX(OrderDate) DESC&lt;/font&gt;, but if you understand what’s going on there, when it’s good and when it’s bad, then it can be just fine. This pre-con got excellent feedback at SQLBits, and I think it will please PASS Summit delegates as well.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Fixing Queries With Advanced T-SQL Constructs (Rob Farley)&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Have you inherited queries that are not your own, and are finding that performance isn’t so great? Removing cursors in favour of set-based queries is useful, but even set-based queries can perform poorly. Understanding the impact that various constructs can have on a query plan could be key to resolving many of these issues. In this seminar, irrepressible SQL MVP Rob Farley will take a look at some real-life queries and take the audience through examples of constructs that can have significant effects on tuning. This will include complex nested joins, join simplification, procedural functions, SARGability v residuality with predicates, better execution plan reading, start-up parameters, force hints, complex sorting, ORs, effective Dynamic SQL, GROUP BY v DISTINCT, unique indexes, temporary tables, APPLY considerations, and more. You'll discover profoundness in things you thought you knew, and you'll even see when a covering index that returns a single row can be a bad thing. This will be a day spent in Management Studio, not PowerPoint. If you want to know how to persuade the Query Optimizer to do a better job of running your query, this day is for you. The examples will apply to a variety of versions, with most of it being useful even in a SQL 2005 environment.&lt;/p&gt; &lt;/blockquote&gt;  &lt;hr style="width:75%;" /&gt;  &lt;p&gt;Another talk that I’ve done in the past is one called &lt;em&gt;“Understanding SARGability (to make your queries run faster)”&lt;/em&gt;. In fact, last year this talk was a ‘stand-by’ for the PASS Summit. I also gave it at SQLBits 7, with &lt;a href="http://brentozar.com"&gt;Brent Ozar&lt;/a&gt; (&lt;a href="http://twitter.com/BrentO"&gt;@BrentO&lt;/a&gt;) and &lt;a href="http://buckwoody.com"&gt;Buck Woody&lt;/a&gt; (&lt;a href="http://twitter.com/BuckWoody"&gt;@BuckWoody&lt;/a&gt;) heckling me from the back. Brent tweeted “&lt;a href="http://twitter.com/BrentO/status/26091659630"&gt;Okay, wow, @robfarley is a seriously good presenter&lt;/a&gt;”, and although he got my Twitter handle wrong (it’s &lt;a href="http://twitter.com/rob_farley"&gt;@rob_farley&lt;/a&gt;), I was very flattered. It’s one of my second-favourite tweets still.&lt;/p&gt;  &lt;p&gt;Over recent times, I’ve found that people really don’t seem to understand the significance of having predicates fall into the category of “Residual”. &lt;a href="http://sqlblog.com/blogs/rob_farley/archive/2011/03/22/probe-residual-when-you-have-a-hash-match-a-hidden-cost-in-execution-plans.aspx" target="_blank"&gt;I wrote about it recently&lt;/a&gt;, and was quite interested to see some of the reactions that people had when they talked about it with me. &lt;a href="http://blogs.msdn.com/b/psssql/archive/2011/04/29/why-does-this-query-consumes-so-much-cpu.aspx" target="_blank"&gt;Jack Li wrote a post last week&lt;/a&gt; about a query which took longer than expected because a Hash Match was putting a lot of data into a single bucket. This is a common problem that gets missed, because of the impact of having the selective predicate treated as residual. I’m going to write more posts on that in the coming weeks, and a lot of that will be covered in one of the talks I’ve submitted this year. &lt;em&gt;Residualiciousness&lt;/em&gt; isn’t a real word, but I figure that shouldn’t stop me.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Joins, SARGability and the Evils of Residualiciousness (Rob Farley)&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;You wouldn't believe how often people just aren't using their indexes effectively, whether it be searching for data, or joining tables. Quite often, this comes down to predicates becoming residual. Yes, residuality is a problem, and once a predicate has become residualicious, you may as well be scanning instead of seeking. There’s so much more to SARGability than people think, and people can often miss out on significant performance benefits by not appreciating this – particularly with new and improved query hints becoming available in SQL 2008 R2 SP1 and Denali. SARGable means Search ARGument Able and relates to the ability to search through an index for a value. Unfortunately many database professionals don’t really understand it – especially in regard to joins – leading to queries which don’t run as well as they should. In this talk, you'll learn how to tell whether a predicate is being used correctly, and to evaluate what's really going on in your Seek or Join. You'll even learn to use new features in SQL 2008 R2 SP1 and Denali to affect the residuality of your predicates. This is a talk involving lots of demos, showing plenty of queries and execution plans.&lt;/p&gt; &lt;/blockquote&gt;  &lt;hr style="width:75%;" /&gt;  &lt;p&gt;The other talk I’ve submitted was inspired by a conversation with my friend &lt;a href="http://sqlblog.com/blogs/jamie_thomson" target="_blank"&gt;Jamie Thomson&lt;/a&gt; (&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@jamiet&lt;/a&gt;), who unfortunately won’t be at the PASS Summit this year (he does have an excellent reason though). I happened to mention something which I considered an important consideration about queries used for SSIS, and he told me I had to write a blog post about it. I &lt;a href="http://sqlblog.com/blogs/rob_farley/archive/2011/02/17/the-ssis-tuning-tip-that-everyone-misses.aspx" target="_blank"&gt;eventually did&lt;/a&gt;, and it got me thinking about a bunch of things that SSIS Tuning Talks (like &lt;a href="http://sqlbits.com/Speakers/Jamie_Thomson" target="_blank"&gt;those that Jamie gives&lt;/a&gt;) which are very relevant to tuning T-SQL, but yet almost never get mentioned by standard talks. Some of them get covered in the pre-con seminar too, and I’m sure I’ll have to get blog posts written on some of these things over coming months.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Tuning T-SQL Using Lessons Learned From SSIS (Rob Farley)&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;We see presentations telling us how to tune T-SQL, looking at things like how a covering index can help avoid an expensive lookup, and the importance of set-based thinking. But there can be a lot more to finding bottlenecks in an execution plan, and there are significant parallels with the kind of concerns we have when tuning SSIS Data Flows. This session will look at some of the things that SSIS gurus explain when in looking at how to make SSIS run faster, and draw strong parallels to things that many query tuners don't realise. If only they paid attention to the SSIS world! There will be a lot of examples in this session, explaining what's happening in query plans and the ways that you can persuade your queries to run more like your SSIS packages, and vice-versa. &lt;/p&gt; &lt;/blockquote&gt;  &lt;hr style="width:75%;" /&gt;  &lt;p&gt;Looking at the long &lt;a href="http://www.sqlpass.org/summit/2011/Speakers/CallForSpeakers/Submissions.aspx" target="_blank"&gt;list of abstract submissions&lt;/a&gt; this year (and right now there’s about three hours for more to come in), I think it’s going to be a great event. With buzz around Denali and a stronger community than ever, I think it’s going to be huge.&lt;/p&gt;  &lt;p&gt;There will be handful of LobsterPot employees there, and I hope you will be too!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/rob_farley" target="_blank"&gt;@rob_farley&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=35495" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/sql/default.aspx">sql</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/community/default.aspx">community</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/sqlpass/default.aspx">sqlpass</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/lobsterpot/default.aspx">lobsterpot</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/professional+development/default.aspx">professional development</category></item><item><title>A SQL story in 11 words or less</title><link>http://sqlblog.com/blogs/rob_farley/archive/2011/04/05/a-sql-story-in-11-words-or-less.aspx</link><pubDate>Tue, 05 Apr 2011 01:29:41 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:34654</guid><dc:creator>Rob Farley</dc:creator><slash:comments>5</slash:comments><comments>http://sqlblog.com/blogs/rob_farley/comments/34654.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/rob_farley/commentrss.aspx?PostID=34654</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/rob_farley/rsscomments.aspx?PostID=34654</wfw:comment><description>&lt;p&gt;&lt;em&gt;Success Quietly Looms.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Not quite 11 words, I know. I’ll put more at the end. Definitely SQL related though, right? (And it’s even an acrostic!) &lt;a href="http://thomaslarock.com/2011/04/welcome-to-meme-monday/" target="_blank"&gt;Tom LaRock&lt;/a&gt; started this, and &lt;a href="http://blog.datainspirations.com/2011/04/04/meme-monday-to-me/" target="_blank"&gt;Stacia Misner&lt;/a&gt; tagged me. Monday is over now though (heck, it’s well into Tuesday here), so I’m not going to tag anyone else.&lt;/p&gt;  &lt;p&gt;I’m not talking about &lt;a href="http://www.lobsterpot.com.au/" target="_blank"&gt;our&lt;/a&gt; success (even though I’m in the process of hiring my sixth employee), I’m talking about the impact of having a system that you’ve implemented well, and finding that people &lt;strong&gt;actually want to use it&lt;/strong&gt;. It’s the hope of every project. You don’t want to implement something only to find that people use the old system.&lt;/p&gt;  &lt;p&gt;And yet when you implement a system which becomes successful, there are unexpected problems.&lt;/p&gt;  &lt;p&gt;Look at Twitter. A few guys sit around and think how useful it would be to send SMS messages to a central location where everyone can read it. It becomes a worldwide phenomenon, and has very serious (and very public) problems scaling. Brilliant idea, but success quietly loomed.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Scalability needs to be a forethought, not a reaction.&lt;/strong&gt; If you do your job well, you will have underestimated the required workload. It’s a fact of life. Luckily, SQL easily lets you plan things nicely. Systems can be tuned when small, allowing for growth that doesn’t cripple.&lt;/p&gt;  &lt;p&gt;The principle also applies on a personal level. If you do well at things, you’ll be given more, and need to work out how to scale. Right now my &lt;a href="http://www.lobsterpot.com.au" target="_blank"&gt;business&lt;/a&gt; is growing, and that’s a good thing. I’ve had to hire extra people to allow for the growth, and I’m trying to find time to get into &lt;a href="http://crm.dynamics.com/" target="_blank"&gt;CRM Online&lt;/a&gt; and various other systems. I’m needing to adjust to the challenges of having a company of six (nearly seven) people, having to lean on God more than ever, and (like &lt;a href="http://sqlvariant.com/wordpress/index.php/2011/04/getting-priorities-done/" target="_blank"&gt;Aaron&lt;/a&gt;) making sure I prioritise the things that are important. I’m not leaving the community – I see that as an important part of running my business – but I do need to make sure that my family doesn’t suffer too much simply because there is more that needs doing than ever before.&lt;/p&gt;  &lt;p&gt;As for the other eight words in my short story (and acrostic):&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Did Anybody Think About Backups And Saving Everything?&lt;/em&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=34654" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/sql/default.aspx">sql</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/community/default.aspx">community</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/lobsterpot/default.aspx">lobsterpot</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/meme+monday/default.aspx">meme monday</category></item><item><title>Visualising data a different way with Pivot collections</title><link>http://sqlblog.com/blogs/rob_farley/archive/2010/12/29/visualising-data-a-different-way-with-pivot-collections.aspx</link><pubDate>Wed, 29 Dec 2010 02:50:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:32068</guid><dc:creator>Rob Farley</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/rob_farley/comments/32068.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/rob_farley/commentrss.aspx?PostID=32068</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/rob_farley/rsscomments.aspx?PostID=32068</wfw:comment><description>&lt;P&gt;&lt;A href="http://www.rogernoble.com/2010/12/21/enhanced-pivotviewer/" target=_blank&gt;Roger&lt;/A&gt;’s been doing a great job extending PivotViewer recently, and you can find the list of LobsterPot pivots at &lt;A href="http://pivot.lobsterpot.com.au/" target=_blank&gt;http://pivot.lobsterpot.com.au&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Many months back, the &lt;A href="http://www.ted.com/talks/gary_flake_is_pivot_a_turning_point_for_web_exploration.html" target=_blank&gt;TED Talk that Gary Flake did about Pivot&lt;/A&gt; caught my imagination, and I did some research into it. At the time, most of what we did with Pivot was geared towards what we could do for clients, including making Pivot collections based on students at a school, and using it to browse PDF invoices by their various properties. We had actual commercial work based on Pivot collections back then, and it was all kinds of fun. Later, we made some collections for events that were happening, and even got featured in the TechEd Australia keynote.&lt;/P&gt;
&lt;P&gt;But I’m getting ahead of myself... let me explain the concept.&lt;/P&gt;
&lt;P&gt;A Pivot collection is an XML file (with .cxml extension) which lists Items, each linking to an image that’s stored in a Deep Zoom format (this means that it contains tiles like Bing Maps, so that the browser can request only the ones of interest according to the zoom level). This collection can be shown in a Silverlight application that uses the PivotViewer control, or in the Pivot Browser that’s available from &lt;A href="http://getpivot.com/" target=_blank&gt;getpivot.com&lt;/A&gt;. Filtering and sorting the items according to their facets (attributes, such as size, age, category, etc), the PivotViewer rearranges the way that these are shown in a very dynamic way. To quote Gary Flake, this lets us “see patterns which are otherwise hidden”.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;PADDING-LEFT:0px;PADDING-RIGHT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;PADDING-TOP:0px;" title=image border=0 alt=image src="http://sqlblog.com/blogs/rob_farley/image_10AC23CA.png" width=357 height=231&gt;&lt;BR&gt;&lt;IMG style="BACKGROUND-IMAGE:none;BORDER-BOTTOM:0px;BORDER-LEFT:0px;PADDING-LEFT:0px;PADDING-RIGHT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;PADDING-TOP:0px;" title=image border=0 alt=image src="http://sqlblog.com/blogs/rob_farley/image_283FDDD0.png" width=357 height=229&gt;&lt;BR&gt;&lt;IMG style="BACKGROUND-IMAGE:none;BORDER-BOTTOM:0px;BORDER-LEFT:0px;PADDING-LEFT:0px;PADDING-RIGHT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;PADDING-TOP:0px;" title=image border=0 alt=image src="http://sqlblog.com/blogs/rob_farley/image_03DAADB4.png" width=355 height=228&gt;&lt;/P&gt;
&lt;P&gt;This browsing mechanism is very suited to a number of different methods, because it’s just that – browsing. It’s not searching, it’s more akin to window-shopping than doing an internet search.&lt;/P&gt;
&lt;P&gt;When we decided to put something together for the conferences such as TechEd Australia 2010 and the PASS Summit 2010, we did some screen-scraping to provide a different view of data that was already available online. &lt;A href="http://www.nickhodge.com/blog/" target=_blank&gt;Nick Hodge&lt;/A&gt; and &lt;A href="http://delicategeniusblog.com/" target=_blank&gt;Michael Kordahi&lt;/A&gt; from Microsoft liked the idea a lot, and after a bit of tweaking, we produced one that Michael used in the TechEd Australia keynote to show the variety of talks on offer. &lt;/P&gt;
&lt;P&gt;&lt;IMG style="BACKGROUND-IMAGE:none;BORDER-BOTTOM:0px;BORDER-LEFT:0px;PADDING-LEFT:0px;PADDING-RIGHT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;PADDING-TOP:0px;" title=Keynote_Pivot border=0 alt=Keynote_Pivot src="http://sqlblog.com/blogs/rob_farley/Keynote_Pivot_4CA0F9ED.jpg" width=429 height=287&gt;&lt;/P&gt;
&lt;P&gt;It’s interesting to see&amp;nbsp;a pattern in this data: The Office track has the most sessions, but if the Interactive Sessions and Instructor-Led Labs are removed, it drops down to only the sixth most popular track, with Cloud Computing taking over.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://sqlblog.com/blogs/rob_farley/image_7798E7F2.png"&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;PADDING-LEFT:0px;PADDING-RIGHT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;PADDING-TOP:0px;" title=image border=0 alt=image src="http://sqlblog.com/blogs/rob_farley/image_thumb_652C833E.png" width=358 height=197&gt;&lt;/A&gt;&lt;A href="http://sqlblog.com/blogs/rob_farley/image_793579FA.png"&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;PADDING-LEFT:0px;PADDING-RIGHT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;PADDING-TOP:0px;" title=image border=0 alt=image src="http://sqlblog.com/blogs/rob_farley/image_thumb_3FBE7BD1.png" width=356 height=196&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This is something which just isn’t obvious when you look an ordinary search tool. You get a much better &lt;EM&gt;feel&lt;/EM&gt; for the data when moving around it like this.&lt;/P&gt;
&lt;P&gt;The more observant amongst you will have noticed some difference in the collection that Michael is demonstrating in the picture above with the screenshots I’ve shown. That’s because it’s been extended some more.&lt;/P&gt;
&lt;P&gt;At the SQLBits conference in the UK this year, I had some interesting discussions with the guys from &lt;A href="http://xpert360.com/" target=_blank&gt;Xpert360&lt;/A&gt;, particularly Phil Carter, who I’d met in 2009 at an earlier SQLBits conference. They had got around to producing a Pivot collection based on the SQLBits data, which we had been planning to do but ran out of time. We discussed some of ways that Pivot could be used, including the ways that my old friend &lt;A href="http://codebetter.com/howarddierking/" target=_blank&gt;Howard Dierking&lt;/A&gt; had extended it for the &lt;A href="http://msdn.microsoft.com/en-us/magazine/default.aspx" target=_blank&gt;MSDN Magazine&lt;/A&gt;. I’m not suggesting I influenced Xpert360 at all, but they certainly inspired us with some of their &lt;A href="http://xpert360.wordpress.com/category/pivotviewer/" target=_blank&gt;posts on the matter&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;So with LobsterPot guys &lt;A href="http://david.gardiner.net.au/" target=_blank&gt;David Gardiner&lt;/A&gt; and &lt;A href="http://www.rogernoble.com/" target=_blank&gt;Roger Noble&lt;/A&gt; both having dabbled in Pivot collections (and Dave doing some for clients), I set Roger to work on extending it some more. He’s used various events and so on to be able to make an environment that allows us to do quick deployment of new collections, as well as showing the data in a grid view which behaves as if it were simply a third view of the data (the other two being the array of images and the ‘histogram’ view). &lt;/P&gt;
&lt;P&gt;I see PivotViewer as being a significant step in data visualisation – so much so that I feature it when I deliver talks on Spatial Data Visualisation methods. Any time when there is information that can be conveyed through an image, you have to ask yourself how best to show that image, and whether that image is the focal point. For Spatial data, the image is most often a map, and the map becomes the central mode for navigation. I show Pivot with postcode areas, since I can browse the postcodes based on their data, and many of the images are recognisable (to locals of South Australia).&lt;/P&gt;
&lt;P&gt;&lt;IMG style="BACKGROUND-IMAGE:none;BORDER-BOTTOM:0px;BORDER-LEFT:0px;PADDING-LEFT:0px;PADDING-RIGHT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;PADDING-TOP:0px;" title=image border=0 alt=image src="http://sqlblog.com/blogs/rob_farley/image_39677F76.png" width=378 height=209&gt;&lt;/P&gt;
&lt;P&gt;Naturally, the images could link through to the map itself, and so on, but generally people think of Spatial data in terms of navigating a map, which doesn’t always gel with the information you’re trying to extract. Roger’s even looking into ways to hook PivotViewer into the Bing Maps API, in a similar way to the &lt;A href="http://deepearth.codeplex.com/" target=_blank&gt;Deep Earth&lt;/A&gt; project, displaying different levels of map detail according to how ‘zoomed in’ the images are.&lt;/P&gt;
&lt;P&gt;Some of the work that Dave did with one of the schools was generating the Deep Zoom tiles “on the fly”, based on images stored in a database, and Roger has produced a collection which uses &lt;A href="http://pivot.lobsterpot.com.au/flickr" target=_blank&gt;images from flickr&lt;/A&gt;, that lets you move from one search term to another. Pulling the images down from flickr.com isn’t particularly ideal from a performance aspect, and flickr doesn’t store images in a small-enough format to really lend itself to this use, but you might agree that it’s an interesting concept which compares nicely to using Maps.&lt;/P&gt;
&lt;P&gt;I’m looking forward to future versions of the PivotViewer control, and hope they provide many more events that can be used, and even more hooks into it.&lt;/P&gt;
&lt;P&gt;Naturally, LobsterPot could help provide your business with a PivotViewer experience, but you can probably do a lot of it yourself too. There’s a thorough guide at &lt;A href="http://getpivot.com/"&gt;getpivot.com&lt;/A&gt;, which is how we got into it. For some examples of what we’ve done, have a look at &lt;A href="http://pivot.lobsterpot.com.au/"&gt;http://pivot.lobsterpot.com.au&lt;/A&gt;. I’d like to see PivotViewer really catch on a data visualisation tool.&lt;/P&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=32068" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/sql/default.aspx">sql</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/sqlbits/default.aspx">sqlbits</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/sqlpass/default.aspx">sqlpass</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/lobsterpot/default.aspx">lobsterpot</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/pivotviewer/default.aspx">pivotviewer</category></item><item><title>Why bother with database professionals?</title><link>http://sqlblog.com/blogs/rob_farley/archive/2010/11/02/why-bother-with-database-professionals.aspx</link><pubDate>Tue, 02 Nov 2010 05:49:32 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:30072</guid><dc:creator>Rob Farley</dc:creator><slash:comments>2</slash:comments><comments>http://sqlblog.com/blogs/rob_farley/comments/30072.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/rob_farley/commentrss.aspx?PostID=30072</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/rob_farley/rsscomments.aspx?PostID=30072</wfw:comment><description>Considering that I run a database consultancy , I should be fairly biased on this question, and suggest that you can't possibly cope without database professionals – except that I don’t really believe it all that much. I do believe it, and I’ll demonstrate...(&lt;a href="http://sqlblog.com/blogs/rob_farley/archive/2010/11/02/why-bother-with-database-professionals.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=30072" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/sql/default.aspx">sql</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/t-sql+tuesday/default.aspx">t-sql tuesday</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/lobsterpot/default.aspx">lobsterpot</category></item><item><title>The first Gold Competency in Australia!</title><link>http://sqlblog.com/blogs/rob_farley/archive/2010/11/01/the-first-gold-competency-in-australia.aspx</link><pubDate>Sun, 31 Oct 2010 23:03:54 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:30032</guid><dc:creator>Rob Farley</dc:creator><slash:comments>4</slash:comments><comments>http://sqlblog.com/blogs/rob_farley/comments/30032.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/rob_farley/commentrss.aspx?PostID=30032</wfw:commentRss><wfw:comment>http://sqlblog.com/blogs/rob_farley/rsscomments.aspx?PostID=30032</wfw:comment><description>At LobsterPot , there are a few things that we definitely value above other things. Integrity is top of the list – it has to be. In fact, it is the quality I refuse to compromise on with my staff. When I identify someone I want to approach for a job,...(&lt;a href="http://sqlblog.com/blogs/rob_farley/archive/2010/11/01/the-first-gold-competency-in-australia.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=30032" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/sql/default.aspx">sql</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/partner+network/default.aspx">partner network</category><category domain="http://sqlblog.com/blogs/rob_farley/archive/tags/lobsterpot/default.aspx">lobsterpot</category></item></channel></rss>