I have my opinions and experience, and I’ve no doubt you have yours. Paul Randal (blog|twitter) has put up another one of his interesting surveys to try to collect our opinions and our experience. You should run right over to here and vote immediately.
Now that you’ve completed that, I’ll tell you what I think.
Based on my experience (neither particularly broad, nor particularly deep, but there has been quite a bit of it), I’ve mostly seen problems in code. When talking about databases, the T-SQL code. When talking about apps, the application code. This is followed not too far back by really poor database structures and poor indexing strategies. I’m sure other people have seen other things, but these really are the areas where I’ve seen the most problems. The one thing common across all of them? Knowledge. It really has been my experience that people make mistakes because they just don’t know any better. As with most things in life, knowledge is the key. Go get some.
Great list. Superbe conclusion.
Grant,
100% agree! That’s exactly my own experience. I could only add that poor DB design and slow running queries due to some inefficient TSQL-code go together. Always. No exception.
Regards,
Holger
We use to find a LOT of I/O bottlenecks when running QikSpy, but it is true that particular languages (starting with a J) are suspetible to triping up most all programmers. So eliminating the I/O bottleneck revealed code bottlenecks. Additionally back in the day programming for performance, well the multi-threaded languages just didn’t exist and as such the programmers didn’t think that way.
I agree. If yoou look at it, in 99% of cases the performance problems, like IO overheating or memory/CPU pressure are caused by bad code and design, sometimes bad data retention policy.
I have impression that lots of databases are at least twice as big as they need to.