Previous installment: Day Three: Just a Mess Without a Clue
I know a funny little man,As quiet as a mouse,Who does the mischief that is doneIn everybody’s house!There’s no one ever sees his face,And yet we all agreeThat every plate we break was crackedBy Mr. Nobody.
The purpose of a SQLT report is to collect all the information that could possibly shed light on a problem with SQL query performance. I was recently asked to investigate why performance had suddenly changed for the worse on the 1st of the month. I was assured that “nothing had changed.” Of course bind variables are always changing and statistics are always changing (which could cause plans to change and performance to change), but I was assured that, even so, performance had been stable ever since the application had gone live, several years earlier. After poking around in the SQLT report for a while, I noticed a peculiarity about the statistics on the indexes. Here is a sanitized excerpt; I’ve placed the statistics for two indexes (I1 and I2) side by side:
Do you see what I see? Why do you think performance changed on the 1st of November? What is your recommendation? Click on the attachment to see my own analysis and recommendation.
The Twelve Days of SQL
The Twelve Days of NoSQL
Copyright © 2015 Iggy Fernandez