Designing Transaction Strategies

  • Dmitri Korotkevitch


Now it is time to put everything together. In this chapter, we will summarize, and perhaps repeat a few rules that can help us reduce blocking and improve concurrency in a system. The most important rule we need to remember is that most cases of concurrency and blocking can be fixed by query optimization. Even if we do not talk about system performance in general, non-optimized queries scan more data than is needed. From a locking standpoint, this means that those queries issue more lock requests, which increase the chances of collision and blocking with other sessions. This is especially true for queries that change data. While we have some options to deal with shared (S) locks from non-optimized readers, there is very little that we can do with blocking introduced by writers and update (U) locks. SNAPSHOT transaction isolation level is the only option where writers do not block other writers, although switching to that isolation level requires code redesign and introduces major overhead to the server.


Execution Plan Query Optimization Temporary Table Allocation Order Isolation Level 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Copyright information

© Dmitri Korotkevitch 2014

Authors and Affiliations

  • Dmitri Korotkevitch
    • 1
  1. 1.FLUnited States

Personalised recommendations