Hudzilla.org - the homepage of Paul Hudson
Contents > Databases > Introduction Wish List | Report Bug | About Me ]

9.1.4     Transactions

This is NOT the latest copy of this book; click here for the latest version.

Transactions are the first important feature of a DBMS, and they allow you to group together changes to your database. For example, imagine a system that paid employees overnight - first employee #1 is paid, then employee #2, then employee #3, and then while employee #4 is being paid there is a power cut. Without transactions the database would now be in an inconsistent state - which employees have been paid and which have not? Will employee #4 end up getting paid twice or not at all?

With transactions, all changes are kept separate from the live system, and only made permanent when they are told to commit changes. If anything goes wrong while changes are being made, the transaction can be rolled back - all changes are undone, with the system being restored to the same state as it was before the transaction began.

Naturally transactions are a highly sought-after feature for users of databases, particularly when business interests are at stake. However, they usually have a negative impact on speed - for example, MySQL running without transactions runs very quickly indeed, but will slow down massively if asked to do transactions.





<< 9.1.3 Date and time   9.1.5 Stored procedures >>
Table of Contents
Want to see this stuff in print? PHP in a Nutshell takes the core topics covered here, adds in thousands of edits from the editorial team and myself, and combines them to make an unbeatable reference for PHP programmers at all levels.



My latest book has hundreds more tips on how to use PHP, Apache, and MySQL, plus Perl, Python, shell scripts, performance tuning, and more!



Top-right shadow
 
Bottom-left shadow Bottom shadow

Comments from other readers
Be the first to add a comment to this chapter!



Add comment
Please note that by posting a comment here you are committing it to the public domain. This is important so that others can make use of your code themselves, and also so that I can incorporate helpful notes directly into the main text. Comments are limited to 2000 characters in length.

If you are reporting an error in the content, please tell me directly.

Your name/email address:
Your comment:
 
Now, in order to verify that you're a real person, please answer this simple question: what is nine plus three?
The answer is:
(please write in
numbers, eg 19)


Top-right shadow
 
Bottom-left shadow Bottom shadow