• Bad plans vs good plans. Knowing the difference and how to transform one into the other. (Includes re-writing monster queries into efficient multi-step processees with temp tables, table vars, etc, plus a working knowledge of join, index and query hints).

    Locking & isolation levels. For high-concurrency OLTP systems this is the alpha and the omega. Avoiding classic boo-boos like selecting from two+ tables twice in a txn, the second time in a different sequence to the first (classic deadlocking by poor T-sql coding).

    And no RBAR (Row-By-Agonising-Row) sql coding. i.e. why cursors are evil and how to recode in set-based operations. Including some knowledge of recursion in sql.