Jan 03 2014

Speaker of the Month, January 2014

A whole new year. Cool.

I was at SQL Saturday DC, #233, at the beginning of December. I sat through several really good presentations. I could honestly give the award this month to any of the ones I took notes on, but I have to pick one person (although, not always, my award, my rules). So, speaker of the month for the brand new year is Konstantin Melamud (li|t). Yet another speaker without a blog. Maybe I should enforce my own rules at some at some point. <sigh> Anyway, I enjoyed Konstantin’s presentation. Let’s talk about it.

Performance Tuning – Index Optimization was an excellent presentation. Konstantin came at the topic very carefully. He started off with a knowledge level baseline, right at the start. I thought that was a pretty good idea. It let people level set from there. He then went through each index, provided a good definition of the index, then discussed information about it, tradeoffs, suggestions. It worked really well as a format for approaching the subject. He did things I wouldn’t necessarily have the guts to do, including doing a pretty good demo of full text search. Throughout the presentation he checked to see if the attendees had any questions. He even had a “I know more than you do” questioner who Konstantin handled professionally. It was a good presentation giving out good information (with an exception that I’ll point out below) that was really well presented. Konstantin’s delivery was very soft, quiet and comfortable. The way Konstantin answered questions and discussed the topic with people he demonstrated a great grasp of the topic. I’m sure people left the presentation and put some of his suggestions straight to work.

The stuff Konstantin could work on is the same stuff that many speakers (including me) need to polish. He didn’t repeat the questions. Even though it was a small room (packed to the gills, standing room only I might add), the acoustics were pretty terrible, so a question from a woman sitting directly in front of me was unintelligible. I’m sure people in the back never heard it. A few of his demos tanked because he didn’t reset after testing them earlier in the day. Understandable, but avoidable. He had one demo using clusters that basically implied the old saw that clusters are best for range data retrieval. I’d suggest changing that demo (and don’t trust me, talk to Gail about it). That’s about it. Like I said, a good presentation.

Once again, no way to determine where Konstantin is speaking next… Help me, help you… Where was I? But, I would absolutely recommend you track him down for a presentation.

May 16 2012

Don’t You Know Who I Am?

I’m happy to say that for most of you out there, the answer to this question is “no.” That’s as it should be. I’m not anyone all that special. I present technical sessions at various events from local user group meetings to SQL Saturday’s to international events like the PASS Summit and 24 Hours of PASS. Why? Not because the attendees know my name, that’s for sure. It’s because of a combination of at least two of these three things:

  1. The organizers might know my name or may know of my books or the fact that I’m working for a vendor that sponsors their event
  2. I’ve submitted sessions that seem to be of interest to the people who might be attending the event being organized
  3. I’ve got a track record of delivering decent, if not world-altering, presentations that people find useful.

Let’s say you’re organizing a SQL Saturday event. And, let’s say that you want to get as many attendees as you possibly can. Is your best bet to find a bunch of people with MVP or MCM after their name? Or, should you focus on getting an interesting set of content from speakers that you know can deliver?

From what I’ve seen, it’s that second option that is your best bet. I’ve stood in front of people and started talking about a topic that I have a written a book about only to find that the entire room was not aware that I had written that book. They weren’t there for me. They were there for knowledge that I might be able to communicate to them. They were there for the topic, not the speaker. I’ve seen local speakers give presentations that were simply amazing, despite the fact that they didn’t have a book or weren’t blogging constantly. It’s the content and delivery, not the person delivering it. You’re going to know your local speakers as well as, or better than, any of the MVPs. Rely on your knowledge of these people and the fact that you’ve seen them present before.

This is something that I think way too many people overlook. Especially when you’re managing a SQL Saturday event, you need to build an interesting set of topics, not lure a bunch of MVPs to your event. Guaranteed, you’ll get an MVP or three. Don’t focus on that or worry about it. Instead, focus on your agenda. Build a good set of presentations, the kind that are going to be the most useful to your audience.

Don’t believe me? Check out these links to the front page of the PASS Summit 2011, 2010, 2009. Note a couple of things. First, no headliners at all. No speakers are called out in any way except the people delivering the key notes. Second, there are Flickr & Twitter streams in which anyone can be one the front page for a time. In short, the focus is on content and attendees.

Remember this when you’re setting up your event.

Oh, and don’t bother linking to this post. Everyone has my permission to copy and paste this and claim it as their own. You just have to include this disclaimer for everyone else to copy and paste this post as well.

Sep 22 2011

SQL Server Execution Plans

PASS_2011_SpeakingButton_180x180-blackI write quite frequently about SQL Server Execution Plans. I started in that area just because that’s how you figure out what a query is doing and sooner or later, we all have to tune a query. I found I was doing it sooner and more frequently. When the opportunity came up to write a book , I jumped on it. Now I find myself presenting, rather frequently, on execution plans.

One of the people I’ve learned from over the last several years is Gail Shaw (blog|twitter). I first saw Gail on stage at the PASS Summit, I think it was 2007. A co-worker of mine was picked, along with Gail, to go on stage for the Quiz Bowl. Gail was answering all the questions. If you go over to SQL Server Central, Gail doesn’t answer all the questions, but she’s involved most of the important discussions. If you read her blog and articles, Gail has also been deeply involved in query tuning and execution plans for a long time.

Why am I telling you all this?

In just a little over three weeks, Gail and I will be presenting an all day seminar on SQL Server Execution Plans. We’re going to cover the optimizer and the plan cache and we’re going to show you how to read a ton of execution plans. We’re going to go over how to spot problems and how to fix them. We’ll be examining plans from people in the audience (yeah, bring your problem plans) live on stage. You’ll get the chance not just to hear us talk, but to ask us questions, to get clarification on topics and meet other people who are learning the same stuff you are.

In short, we’re going to be having a really good time and talking a lot about Execution Plans. This is your chance. Register for the Summit and, please, register for our pre-conference seminar. You won’t be disappointed.

Aug 03 2011

All About Execution Plans

If you’re attending the PASS Summit this October, I’d like to make a suggestion. The Summit itself is only three days long, Wednesday to Friday. But, if you have to travel any distance to get there, you’re going to miss work on Tuesday as well. Why not take a whole week away and spend Monday with Gail Shaw (blog|twitter) and me?

The reason I ask is because Gail and I are putting together 7 hours of information all about execution plans. We’re going to be presenting this information on Monday at the Summit as a pre-conference seminar. Yes, you’ll have to pay extra to attend this session. But if you register for the Summit now, there’s still a discount, which you can put towards to the seminar. And, seriously now, didn’t you want to learn more about execution plans? This is your chance.

Gail is an acknowledged SQL Server expert who writes and speaks regularly about execution plans and query performance tuning. If you read this blog at all, you might notice the occasional post about execution plans. Plus there’s the book on execution plans and the one on query tuning . Come on! You really do want to attend our session.

Even if you’ve already registered for the PASS Summit, you can still add a pre-conference seminar to your registration. If you don’t like learning about execution plans, there are lots of other good seminars to pick from (I’d recommend considering Rob Farley’s (blog|twitter) session even though he can be slightly backwards when it comes to execution plans [kidding]).

May 10 2011

PASS Summit 2011 Abstracts

I’ve put in several abstracts for the 2011 Summit. This year we’re voting for preferred sessions. If you’re interested in any of the ones I’ve listed below, please consider giving me a vote.I was very kindly invited to submit for a spotlight session (for which I am very grateful and humbled, again) so I put two in for that. I also put in for two regular sessions. This year, for the first time I put in not one, but two abstracts for all day pre/post-conference sessions. One of them was put together as a partnership between Gail Shaw (blog|twitter) and myself. I’m excited by that one.

I love speaking and I really hope I make the cut.

In the interest of sharing, these are the abstracts I’ve submitted:

Spotlight: DMOs as a Shortcut for Performance Tuning
Dynamic Management Objects(DMO) expose a wealth of information to the database administrator. However, they also expose information that is vital to the database developer. More often than not people gather performance metrics through server side traces, but they don’t have to. This session will show how to gather information from the DMOs for currently executing, and recently executed queries. The session will demonstrate combining this information with other DMOs to get more interesting information such as the query plan and query text. I’ll show where you can get aggregate information for the queries in cache to determine which queries are being frequently accessed or using the most resources. I’ll show how to determine which indexes are being used in your system and which are not. All of this will be focused, not on the DBA, but on the query writer, the developer or database developer that needs information to tune and troubleshoot data access.

Spotlight: Reading An Execution Plan
This presentation will be about execution plans and nothing but execution plans. I will spend the entire session showing you as much as possible about all the information available to you inside execution plans. I’ll show you how to dig into the plans to gather all the data there that tells you what happened with your query. We’ll go to places in the plans that people just don’t think to look at and explore how information from these places informs you about the operations and methods of the optimizer and the storage engine. From this session I want you to learn how to read a plan for yourself. Once that’s in hand, you’ll never need anyone’s help tuning a query again.

Session: SQL Server Backup and Restore for the Accidental DBA
You’ve either volunteered or had the position thrust upon you, but here you are. You’re the DBA. You are being looked to as the person who will protect the companies’ data and you really don’t have a clue where to start. Let me suggest that one of the first things you should do is put together a good plan for backing up your database. This session will focus on the best practices, standards and methods that you can employ to ensure that you have a solid backup process for the databases under your charge. You’ll also learn how to restore these databases, because your backups are only good if you can restore them. We’ll also go over some of the questions you should be asking your business, because data recovery is as much a business decision as a technical one. At the end of the session, you should be able to go back to your office with confidence that you can begin to protect your data.

Session: Creating a Winning Abstract
You’ve decided that you’d like to try out this technical presentation thing, but you’re expected to write this odd little document called an abstract. What the heck is an abstract? This session will attempt to answer that question. It will also provide some methods and best practices for improving your abstracts and possibly improving your chances of getting selected. I’ll be working from failed and accepted abstracts of my own and examples from others, again, both failed and accepted. We’ll talk about what makes an abstract work and what makes an abstract ugly. You’ll be able to take home a few new ideas for building abstracts of your own that can help to get you started making presentations at your local user group, SQL Saturday, and possibly even international events like the PASS Summit. (and yes, if this one doesn’t get selected, it’s the last time I submit it, anywhere, ever)

PreCon: SQL Server Query Performance Tuning: Start to Finish
One of the most common problems encountered in SQL Server is the slow running query. Once a query is identified as running poorly, people frequently don’t understand how to diagnose and fix the problem. This one day seminar focuses exclusively on these two topics, identifying the queries that are performing badly and figuring out how to fix them. We start by learning how to gather performance metrics including both server metrics and query metrics using tools available directly from Microsoft such as performance monitor, DMOs and Profiler. From there we’ll move into learning how the optimizer works and how it uses statistics to determine which indexes and other database objects can be used to assist the performance of a query. The session takes considerable time to show exactly how to generate and read execution plans, the one best mechanism for observing how the optimizer works. We’ll then look at other DMOs that can also assist you when performance tuning queries. With all this knowledge gathered, we’ll move into looking at common performance problems, how they evidence themselves in the metrics and execution plans, and how to address them. Finally, we’ll explore advanced methods for solving some of the more difficult query performance problems introducing such concepts as query hints, plan guides and plan forcing. Through all of this, best practices and common techniques will be reviewed. Attendees will go home with a working knowledge of query performance tuning, a set of methods for identifying poorly performing queries, scripts to assist in these processes and the knowledge of how to fix performance problems in their own systems.

PreCon: All About Execution Plans
The key to understanding how SQL Server is processing your queries is the execution plan. This full day session focuses on the execution plan. We will start right at the beginning and talk about the compile process. We’ll also go over how, and more importantly, why, plans are stored in cache and how they are removed. We’ll spend time exploring the key differences between actual and estimated plans, and why those descriptions are more than a little misleading. We’ll also show you assorted methods to obtain a query’s execution plan and what the differences and tradeoffs of each are. A full day class on execution plans would not be complete without spending time learning to reading them. You’ll learn where to find useful information in execution plans, what the common operators are and how to decipher the sometimes cryptic messages the plans are sending to you. We’ll also debunk some myths surrounding query operators and execution plans. All of this is meant to further your understanding of how queries work in order to improve the queries you’re responsible for. With this in mind, we’ll show how you can use execution plans to tune queries. All of the information presented will be taken from real world examples. We’ll build on the information through the day so that at the end, after following us through multiple examples at your own computer, you’ll have a stronger understanding of how to read, interpret and actually use execution plans in your day-to-day job.

Dec 23 2010

PASS Summit 2010 Survey Results

As I have done in previous years, I’m going to post the results from my sessions at the PASS Summit. Feedback is a gift. I received a great many gifts this year and I’m extremely happy about all of them.

There are a set of questions with ratings, the higher the rating, the better you did. One exception to this rule is the question on time for the session. I think there, somewhat lower scores are better. There were 183 technical sessions rated during the Summit. I’m very honored to have been included in that list.

Identifying and Fixing Performance Problems using Execution Plans: 286 Attendees, 172 Responses, Avg Score of 4.23, Placed 136th

How would you rate the usefulness of the information presented in your day-to-day environment?
1 2 3 4 5 Avg
3 1 18 83 67 4.22

I’m a little disappointed with this score. Maybe people are just dealing with fewer and fewer queries these days.

How would you rate the Speaker’s presentation skills?
1 2 3 4 5 Avg
5 1 9 68 89 4.37

Again, I’m a little disappointed on this score, but I think it’s partly explained in the comments, some of which I posted below.

How would you rate the Speaker’s knowledge of the subject?
1 2 3 4 5 Avg
4 1 2 45 120 4.6

As my kid says, giggity!

How would you rate the accuracy of the session title, description and experience level to the actual session?
1 2 3 4 5 Avg
9 0 11 64 88 4.29

Not sure what was expected. I said we’d go through common problems and execution plans, we did.

How would you rate the amount of time allocated to cover the topic/session?
1 2 3 4 5 Avg
5 2 43 85 37 3.85

This was partly because I had more material than I had time for. But, it was also partly explained in the comments.

How would you rate the quality of the presentation materials?
1 2 3 4 5 Avg
4 7 24 80 57 4.04

This one, I understand, partly. I only had about four slides. Other than that, all the time was spent in TSQL playing with code. I think most people are looking for slides as documentation. I don’t entirely understand that myself, but I’ll try to improve my slide deck in the future.

Comments (responses in parenthesis):
  • Not Good. Talks about to read other material.
  • no microphone-couldn’t hear him-couldnt see screen (I had a mic, I did sound checks before we started, but there were a ton of these comments, so there’s something for me in the future, double-check sound levels, especially once the room is full)
  • A little to fast.
  • A little too basic for what i was expecting. (yeah, they bounce like that)
  • Couldn’t hear or see presentation. Too many people. Couldn’t hear questions. Worked at bottom of screen too much. (another lesson learned, exec plans are at the bottom of the screen, it’s hard for people in the back to see. I need to figure out how to post them up higher)
  • I felt that Grant needed to pull in the adhoc questions at times, just a little distracting after a point. (noted, there were several of these. I might encourage audience participation too much, or I need to restrain questions more to the end. I just enjoy the conversation so much.)
  • A lot to cover in 75 minutes. (there were a ton of these too. I’ll take it as a mixed blessing, one, they wanted more, two, I need to control the questions a bit more)
  • this would be better in an all day session in Pre/Post. (a bunch of these comments. I’ll see how SQL Rally goes & I might submit)
  • Excellent and very useful session. Presenter was very engaging. (several of these, thank you)

Overall, a decent session. I’m not excited about the results, but the feedback is excellent. I’ll have to work on some skills to deal with low screens in large rooms (other presenters who don’t already have this problem licked, take note).

DMV’s as a Shortcut to Procedure Tuning: 235 Attendees, 122 Reviews, Avg. Score of 4.626, Placed 31st

How would you rate the usefulness of the information presented in your day-to-day environment?
1 2 3 4 5 Avg
1 1 1 26 96 4.71
How would you rate the Speaker’s presentation skills?
1 2 3 4 5 Avg
1 0 4 17 100 4.76

How do I square this rating with the one above? I don’t know. Better room? The screen was higher & I was working on code mostly that I could keep near the top. I’m not sure.

How would you rate the Speaker’s knowledge of the subject?
1 2 3 4 5 Avg
2 1 3 26 90 4.65

And again, giggity! But seriously, I don’t know everything about this topic, I’m constantly learning, I learned during the presentation, but if I can get info to people that I have & they don’t, mission accomplished.

How would you rate the accuracy of the session title, description and experience level to the actual session?
1 2 3 4 5 Avg
2 0 7 28 85 4.59

Why so many 1’s and 3’s? I’m not sure. Based on comments, I think it’s the 300 rating the session has. I’ll tell you true, I’m not sure it should be 300, but then again, I don’t think it’s a 200. So if it’s a 249 or a 251, where does it go? Tough question.

How would you rate the amount of time allocated to cover the topic/session?
1 2 3 4 5 Avg
2 1 0 50 69 4.50
How would you rate the quality of the presentation materials?
1 2 3 4 5 Avg
3 2 4 30 83 4.54

Clearly a bit of a weakness of mine. I’ll try to work on it.

Comments (again, responses etc.):
  • One of the best presenters I’ve seen in the years I’ve attended PASS. Good material presented in a very lively and informative manner. (can’t help it, you get a comment like that, you share it)
  • More like a 200 level course. (several similar comments. I’m not sure where to go with it, but if I present this again, I’ll try marking it 200 to see how it goes)
  • Not sure about the legs! :-) (it was Kilt Wedensday)
  • Very interesting topic…and the presentation got better over time. (there really were a ton of comments of this type. Everyone, really, thanks)
  • There were lots of “I don’t knows” from the presenter.
  • Would say if he didn’t know something. That’s good. (yes, this was the reversal commentary this time. Fact is, I did say, I don’t know, at least three times that I recall. One time the answer came from the audience. I’m good with that, but it clearly bothers people who expect the presenters to be all knowing. People, with the exception of Paul Randal, we’re not)
  • Used lots of humor (some self-deprecating)throughout. Well applied. Engaged the audience. (I think I used “I’m stupid & lazy” a few too many times. I am lazy, which is why learning how to use DMOs is so wonderful. It enables my laziness)

I’m very pleased with this one, obviously. Some details to work on, but overall, a pretty good presentation that seems to have been pretty well received.

That’s it. I have results from the lightening talk that I did, but they’re aggregate across all the speakers and don’t provide much in the way of good information beyond the fact, that most people seemed to think the lightening talks were a fun thing.

Oct 04 2010

SQL Saturday in New England

Adam Machanic (blog|twitter) has put on a SQL Saturday/Data camp event in New England for the last two years. I’ve helped him both years. It’s been very successful. In January we had over 300 attendees, making it one of the larger SQL Saturday events. But, with a single exception (thank you Tim Ford (blog|twitter)), we’ve only had local speakers. Mind you, we’re somewhat lucky with speakers here in New England and have several MVPs and others who are truly excellent when presenting.

I’m taking over from Adam to lead the effort for this year, and due to my schedule we’re moving the event to the spring sometime. We were thinking about maybe making it the the weekend before SQL Rally. But, I’ve got a question for all of you who present at SQL Saturday events. Will you show up? Will you be more, or less, likely to come if it’s near SQL Rally. Will you be likely to come, period, full stop? While I strongly believe Adam has put on a magnificent show for two years running, for some reason we just haven’t received the community lovin’ that the other SQL Saturday events have had. Since I’m the one in charge (although Adam is still pitching in, and I’m getting help from the magnificent Mike Walsh (blog|twitter)), I’d like to make it as good a show as Adam has, so I need the other great presenters to show up, in addition to our fantastic local talent.

Comments, suggestions, questions, feedback?

PS: I hate asking questions like this on the blog, but I’m trying to collect some information so I can make a decision. Feedback is a gift, so if you want skip buying me a present for Yule this year, post a comment.