SQL Server Profiling
I went to a SQL Server user group meeting last night. http://www.pnwsql.org/, which is actually an MSN groups page with a broken graphic link, but - hey - they're data guys, not web developers.<g>
About half of 50 or so attendees were “developers“, the others “administrators“. Of course, their idea of a developer might be a bit different than ours. Still, the presentation - “SQL Server 2000 Profiler“ by Fernando Guerrero - was fascinating and had a lot to offer to us “real“ developers. My favorite insight was gained from looking at the trace information generated by a simple SqlDataAdapter.Update of a single value: A Select statement, two complete sets of parameters for every field, etc. While I can appreciate the flexibility of the SqlDataAdapter, that flexibility clearly comes at a price.
Another fascinating demo was stepping through some very simple transaction code and seeing exactly what happened: Despite the transaction attribute, the transaction was not started until the SqlConnection.Open was executed. Great stuff...hope he writes a book about it.
And the administrators? Well, if you're super-interested in topics like mapping SQL Server affinity to real versus hyperthreaded processors, then this is the right bunch of people for you! Frankly, with the next major version of SQL Server including support for managed code, we're going to be seeing a fusion of what are traditionally different areas of interest.