Andrew J. Kelly

Andrew J.
Kelly
Mentor,
SolidQ
2 29 15

Andrew J. Kelly is a Mentor with SolidQ and a SQL Server MVP with over 20 years' experience with relational databases and application development but specializes in performance, scalability and maintainability of large scale SQL Servers. He is a regular speaker each year and a contributing editor and writer for SQL Server Pro.

Articles
Knowledge sharing written in blue above white random letters
Sharing SQL Server Knowledge and Secrets Helps Everyone 1
Many SQL Server professionals truly enjoy sharing their knowledge and experience to help others. Andy Kelly says he wouldn't be a MVP if it wasn't for the experience of others who were willing to share their secrets.
Session 1: Building from a Solid Foundation 

Running Time: 67 minutes |

Without a solid foundation, it can be difficult or even impossible to scale a poorly-designed database to meet future demands. We'll cover some of the core fundamentals of the SQL Server instance and database that you need to be aware of to give the best chance of scalability and maintainability over time.

Session 2: Understanding Query Plan Reuse 

Running Time: 63 minutes |

Reusing a previously compiled query plan is one of the keys to achieving peak performance with a busy SQL Server instance. As such, understanding the fundamentals of how SQL Server stores and re-uses query plans is essential to scalability and performance. See what affects plan reuse and learn the proper way to submit calls to SQL Server in order to maximize the benefits associated with plan reuse.

Session 3: Essential Monitoring Groups 

Running Time: 68 minutes |

We'll demonstrate how to use the built-in DMV’s to query the information you need to monitor the core areas of SQL Server—which can help you to decide how well or poorly these areas may be performing at any given time. By concentrating on these core aspects on a regular basis, you can often keep ahead of the game without being overwhelmed by the otherwise massive amounts of data to collect and analyze.

Don’t Fear Dynamic SQL
When done correctly, dynamic SQL can be used effectively. Make sure you know how to get the most out of it.
Demystifying Minimal Logging 2
Stopping transaction logging completely isn’t possible, but you can drastically reduce what’s written to the transaction log with minimal logging. Here’s what you need to know, including the benefits minimal logging can reap.
Fine-Tuning Plan Reuse 4
Making sure that SQL Server’s procedure cache is as efficient as possible can save a considerable amount of time and resources.
top 10 phrase in blue and red
Top 10 SQL Server Performance Tuning Tips 10
It’s time for a system tune-up, and we have just the tools you need: A set of practical tips to help you optimize your SQL Server environment for peak performance.
Tackling SQL Server Query Basics
Weeding out the performance-killing statements in your SQL Server instance is certainly not beyond your capabilities and can take much less time and energy to solve than you realize.
The 4 Best Ways to Efficiently Address SQL Server Performance Problems 2
If you're trying to root out the causes of SQL Server performance problems, do you even know where to start? Wait statistics, file statistics, top 10 inefficient queries, and plan reuse are excellent first steps.
Is Tempdb Affecting Your Day-to-Day SQL Server Performance? 2
See if these tips can make a difference in your overall performance of SQL Server activity.
hourglass with blue sand on a computer keyboard
Is Your Physical Disk I/O Affecting SQL Server Performance? 1
Get a handle on the fundamentals of acceptable physical I/O for SQL Server and learn how to determine whether it's affecting your system's performance.
Do You Have Hidden Cache Problems? 5
Most people know that proper plan reuse is essential to good performance but there is another aspect that everyone should explore to ensure peak performance.
Time to Defrag Your Indexes?
When is the right time to defrag? Ultimately, the answer is up to you, but keep these considerations in mind.
Diving Deeper into Wait Stats
In two previous articles, I've discussed SQL Server 2005 waits and showed you some of the more common ones. Now, let's dive down for a deeper view of what each connection or even thread in the SQL Server instance is waiting on.
Comments
Demystifying Minimal Logging
June 3, 2011
Chris, You are correct in that it is chopped off at the end but if you click on the graph it will enlarge the image so you can read it much better. Andy
Fine-Tuning Plan Reuse
April 15, 2011
Harry, The only suggestion to tweak code is when you make calls that do not allow for plan reuse and cannot be overcome with the two options listed. It is not a matter of...
Are Your DMVs Lying to You?
January 29, 2011
Trunik, This is mainly caused by a condiiton known as Parameter sniffing. There are several ways to address it but I would take a look at Itzik's article ( http://www.sqlmag.com...
Top 10 SQL Server Performance Tuning Tips
January 12, 2011
Franklin, the link should be fixed soon. Thanks for pointing that out.
The 4 Best Ways to Efficiently Address SQL Server Performance Problems
August 26, 2010
Kenneth, Yes you are correct on the name of the DMV. Not sure how that got missed but thanks for letting us know.

Digital Magazine Archives

Browse back issues of SQL Server Pro, from January 2007 through the last issue published in April 2014. Find the back issues here.

 

From the Blogs
business people around a table and laptop
Oct 9, 2014
blog

AlwaysOn Availability Groups and SQL Server Jobs, Part 10: Dynamic Detection Gotcha #3

You can interject a SQL Server Job Step into your Jobs and have this new/injected Job Step do some checking for you. Here's a look at everything that’s involved in such an approach....More
Man holding a piece of paper with the word GOTCHA
Oct 7, 2014
blog

AlwaysOn Availability Groups and SQL Server Jobs, Part 9: Dynamic Detection Gotcha #2 3

Given that a USE statement is parsed before code is actually run, there are a few options that could be used as a around when it comes to detecting whether or not code should be run....More
iceberg
Oct 2, 2014
blog

AlwaysOn Availability Groups and SQL Server Jobs, Part 8: Dynamic Detection Gotcha #1 1

Learn about why the option of dynamically detecting whether or not to run a SQL Server Job at execution time is quite a bit more problematic than you might think....More
SQL Server Pro Forums

Get answers to questions, share tips, and engage with the SQL Server community in our Forums.

Sponsored Introduction Continue on to (or wait seconds) ×