\begin{frame} \frametitle{SQL Transaction Control} \begin{block}{SQL Transaction Control} \begin{itemize} \medskip \item \emph{\sql{set autocommit on/off}} \begin{itemize} \item \emph{\sql{on}}: each SQL query is one transaction \end{itemize} \medskip \item \emph{\sql{start transaction}} \medskip \item \emph{\sql{commit}} \medskip \item \emph{\sql{rollback}} \medskip \item \emph{\sql{set transaction isolation level ...}} \medskip \end{itemize} \end{block} \pause\bigskip \begin{goal}{Many applications do not need full serializability} Selecting a weaker, yet acceptable isolation level is important part of \emph{database tuning}. \end{goal} \end{frame} % \overview{8} \theme{Optimistic Concurrency Control}