SQL Server 6.5 Performance Optimization and Tuning Handbook

I once visited a customer to sanity check the physical design for a new data-base. In the course of checking the design I happened to notice that there were some people in an adjoining room entering data into forms on their PCs. Every so often one of these people would raise their hands in the air for few seconds. After a while my curiosity got the better of me and I asked the person who had invited me to do the sanity check what was happening.
It transpired that the people in the next room where entering trades into financial system but the lock conflict caused by the action of entering two trades simultaneously was so bad that they found it easier to raise their hands just before they pressed Enter on the keyboard to signal to their colleagues not to do the same. Ironically, what they were doing was implementing a locking protocol that single threaded the insertion of a trade. This is an example of a multi-user system where two users are one user too many!
Unfortunately, there are many multi-user systems out there that suffer from locking problems. Whether you design a system with locking in mind tends, like most things in life, to depend on your previous experiences. While was working for the Digital Equipment Corporation I was involved in the design of many multi-user online transaction processing systems (OLTP).I came to learn very quickly that if I did not constantly keep asking...