Hi all,
I started out as client/server developer and ended up as a SQL Server DBA. Being lazy and blessed/cursed with a short attention span I hate routine stuff and like trying out new things (until I get bored that is) and enjoy a challenge. Luckily SQL Server is a very varied product and at the moment I'm working at a site with a few hundred instances so enough problems that need solving and enough callenges to be met...
Database pet peeves (at the moment):
- People asking me questions like "the date format on the database is wrong, I want it to return my dates in another format": for once and for all the database does NOT format dates for you. It's the client software that presents it to you.
- Teaching people to explicitly convert values instead of relying on implicit conversions. While testing it's ok with me but in a production environment always use an explicit CONVERT or CAST statement when two values are of different types. It increases performance and you have absolute guarantees on what to expect.
- Using DISTINCT and TOP 1 (without an ORDER BY). When having to resort to these keywords in 99% of the cases it's because of bad modelling ot bad querying ("Hey, I'm getting too many results, lets put DISCTINCT or TOP 1 in my query").
- Generalizations like "Oracle is better than SQL Server" and the like. There is no "better". They're both great DBMS's (ranking in benchmarks change each time they're published) and when having to choose between the two look for other arguments like your prefered OS, costs, etc.
- Having to explain time and time again that physical order of data in a database has no meaning. When you want your result set ordered use "ORDER BY". When you don't there's no guarantee your data will always be sorted the same way (and no, indexes won't help with that, not even the clustered ones).
Disclaimer:
As I don't believe all the stuff that's posted on the web neither should you. Be careful with the advise and solutions I'm giving. Don't believe me on my pretty blue eyes* (yes, they are blue) but always try, test and think until you're sure it's the right solution for you. And when I say try and test, I certainly do not mean in your production environment!
*) Is this a saying in English? It is in Dutch anyway... using Dutch words ofcourse ;-)
If you feel the need to contact me it's possible to email me at lexieflex [at] yahoo [dot] com. Questions that belong on this site should be posted on this site, when they reach me trough mail I'm obliged to ignore them!
Hope you all have a great day!
Lex