<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft Internet Assistant for PowerPoint 97">
<TITLE>Transactions - Life Preservers</TITLE>
</HEAD>
<BODY >
<H1>Transactions - Life Preservers</H1>
<P><UL>
<LI><H2>Text Book:
</H2>
<UL>
<LI>system crash between one bank account being debited and another being credited.
</UL></UL><UL>
<LI><H2>Dramatic:
</H2>
<UL>
<LI>power failure during update on 3 million rows when only part way through.
</UL></UL><UL>
<LI><H2>Real-world:
</H2>
<UL>
<LI>complex series of inter-related updates, deletes and inserts on many separate tables fails at the last step due to a duplicate unique key on an insert.
<LI>
</UL></UL><UL>
<LI><H2>Locking alone wont help you in any of these situations
</H2>
<UL>
<LI>(And locking with DBD::mysql < 2.1027 is unsafe due to auto reconnect)
</UL></UL><UL>
<LI><H2>Transaction recovery would handle all these situations - automatically
</H2>
<UL>
<LI>Makes a system far more robust and trustworthy over the long term.
</UL></UL><UL>
<LI><H2>Use transactions if your database supports them.
</H2>
<UL>
<LI>If it doesn't and you need them, switch to a different database.
</UL></UL><UL>
<H2>.</H2>
</UL></P>
<P></P>
<P>
<TABLE>
<TD HEIGHT=100 WIDTH=100> <A HREF="tsld048.htm">Previous slide</A> </TD>
<TD HEIGHT=100 WIDTH=100> <A HREF="tsld050.htm">Next slide</A> </TD>
<TD HEIGHT=100 WIDTH=150> <A HREF="tsld001.htm">Back to first slide</A> </TD>
<TD HEIGHT=100 WIDTH=150> <A HREF="sld049.htm">View graphic version</A> </TD>
</TABLE>
<BR>
</P>
</Body>
</HTML>