Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
Log in  ::  Register  ::  Not logged in

Surely It Should Just Work?

By Phil Factor,

Does a programmer really want, or need, to know the full details about how his code gets executed?

I'd always been rather on the side of those who think that the working programmer ought to be completely at home in the details of how the system that he is programming actually works. I rather enjoy getting familiar with SQL Server internals. I felt slightly unsure when Celko attempted to persuade me that programmers should concentrate on programming in SQL, and creating Database structures, rather than focus on a particular implementation such as SQL Server or MySQL.

It was a move to a different database system that changed my viewpoint. A move into unfamiliar territory made me think that a relational database should be able to get on without help, and execute code in the best way it sees fit and that provides good performance. If the developer finds it necessary to make implementation-dependent tweaks and hints to get acceptable performance, then he has, I think, highlighted a weakness in the implementation and also crossed over into the preserve of the DBA. PostgreSQL has many good points, but I hit the downside when, in my initial fumbling, I tried a very simple four-way join and the system took ten times as long to return the results as did SQL Server. On appeal to the expert forums, I started a long journey into the bowels of an alien system (it was hosted on Linux), led by EXPLAIN ANALYSE, staring hard at query plans, and tweaking almost everything that could be tweaked, such as configuration parameters, cache settings, postmaster options.

I suspect that the Database developers and DBAs share a great deal of interest in the query optimizer, but there will always be a divergence of interest in the more esoteric matters that affect performance, such as index statistics. Likewise, the most efficient algorithm for any operation by an application is likely to be of far more interest to the Database developer. This divergence of interest is healthy, and helps team work because there is still a common goal. When there is talk of 'impedance mismatch', 'application domains', and 'data repositories', there is less sense of shared goals here. One can often detect impatience from some application developers with relational theory, and with the value of the accumulated experience of a generation of database-intensive application development.

Perhaps the answer is that, when working in teams, developers and DBAs must always share a common culture even when they don't get immersed in the details of the work of the other; but one can harbor a sneaking sympathy for the harassed application developer who has, perforce, become an 'Accidental DBA' and is faced with a system that is obdurately slow when executing plain vanilla SQL. Surely it should just work?

Total article views: 115 | Views in the last 30 days: 1
Related Articles

Connection of SQL Database on one main system with .NET application on multiple systems

Connection of SQL Database on one main system with .NET application on multiple systems


System databases

System databases


Development and Production Database

Insert Into Development and Production Database at the same time


Database Design for Blog application

Database Design for Blog application


Application Developers don’t own their data

As a data guy, I always smile when application developers refer to ‘their’ data. If only it were tha...


Join the most active online SQL Server Community

SQL knowledge, delivered daily, free:

Email address:  

You make SSC a better place

As a member of SQLServerCentral, you get free access to loads of fresh content: thousands of articles and SQL scripts, a library of free eBooks, a weekly database news roundup, a great Q & A platform… And it’s our huge, buzzing community of SQL Server Professionals that makes it such a success.

Join us!

Steve Jones

Already a member? Jump in:

Email address:   Password:   Remember me: Forgotten your password?
Steve Jones