Earlier this week I asked people to help me out prioritizing a list of issues. I was surprised by the number of people who participated. I think I missed an opportunity to crowd-source a large part of my job by including my real issues.
Thanks for participating. After the results started coming in, I realized that my question was a bit ambiguous. Does first priority mean tackle an issue first? Or does a higher numbered issue mean a higher priority? I clarified the question and took that into account for entries that picked sproc naming conventions as top priority.
The results were cool. I expected a variety of answers but I found that most people’s priorities lined up pretty nicely.
For example, even though I wrote a list of issues all with different severity, there were three issues that stood out as most critical: Corrupted databases, a SQL injection vulnerability and No automated backups. Keeping statistics up to date seemed to be the most important non-critical issue.
But there is one issue that I thought had a lot of variety, index fragmentation. I personally placed this one second last. I got a friend to take the survey and I got to hear him explain his choices. He wanted to tackle index fragmentation early because it’s so easily fixable. “It’s low hanging fruit right? Just fix it and move on.”
My friend also pointed out that this technique would work well as an interview technique. Putting priorities in an order is important but even better is that it invites so much discussion about the reasons behind the order.
Speaking of which, go check out Chuck Rummel’s submission. He wins the prize for most thorough comment on my blog.
Here they are:
- Corrupted database – serving data is what databases are supposed to do
- No automated backups – protect that data from disasters
- A SQL injection vulnerability – protect the data from unauthorized users
- Stale statistics – serve data efficiently
- Cursors – a common cause of performance issues, but I’d want to be reactive
- GUID identifiers – meh
- NOLOCK hints – meh
- Developers use a mix of parameterized SQL and stored procedures – It’s not a performance concern for me
- Fragmented indexes – supposedly better performance?
- Sprocs prefixed with “sp-” – aesthetics?