Thursday, November 04, 2004

Ignoring my own advice...

Back in this post, the first rule (more of a guideline than a rule) I made up (from experience, I hasten to add!) was "Know that you know nothing". I've been surprised this week at how right I was. And not just for .NET, but for everything.

I've recently started reading Robert Vieira's excellent Professional SQL Server 2000 Programming, and my, is it good.

I thought I knew a little bit about SQL Server. Although coming from an Access background, I'd read a bit about good database design, I've heard a few people talk about SQL server (mainly on DNR) and can hold my own in a conversation about it. Although I knew there was plenty I didn't know, I thought I knew a few of the fundamentals. Scratch that. I thought I knew enough of the slightly higher level stuff that the fundamentals would slot into place fairly simply. I now know different.

I've just spent an hour on the tube reading all about Indexes. It's only about chapter 4, and a pitifully short way into the book. And my goodness, there's a lot in there to learn. That's good, since I quite like learning new stuff. But it has highlighted just how little I know about what goes on under the hood. I knew, for example, that clustered indexes are good in some situations and bad in others. I knew as well that sometimes table indexes are a bit superfluous and can actually impede the efficiency of your database. At a push, I might even have been able to drag out of my addled brain which situations were right for which. However, after reading this one chapter, I realize that I knew nothing. I kind of knew the 'what', just not the 'why'. Granted, to get to the 'why', there are a whole load of complicated hoops you've got to jump through. The 'why' takes up a whole lotta reading, but still, it reminded me just how little I really know.

I heard someone say once 'The more I know, the more I know I don't know'. Nary a truer word spoken.

On the upside, though, I do sort of know a bit about the 'why' of indexing tables, and even with this little bit of understanding it's sparked off a few questions in my mind about other things I'd like to find out about. Which is good (especially if you're me.)

Note to self: If you're going to offer advice, don't forget to follow it yourself!

Just wanted to share.

No comments: