İşlemler, web uygulamalarında, genel olarak Atomicity ve Isolation için kullanılır.
They don't "prevent MySQL code from executing before a whole page has loaded" : MySQL queries are still executed when you call mysql_query
(or any equivalent using PDO or mysqli_*
). But they will all be "cancelled" if you do not commit the transaction.
Onlar da "run code quicker" yardım ile yapmak için bu kadar yok; bazen bu etkiye sahip olsa bile, bu açıkça sorguları bir grup için bir hareket kullanmak istemiyorsanız (resulting in only one transaction), MySQL örtülü her sorgu için bir işlem kullanacağız çünkü sadece bulunuyor (resulting in several transactions, which might put some additionnal load on the DB server)
Notlar:
- InnoDB gibi - Tabii, bu işlemleri destekleyen bir DB motoru kullanıyor.
- "hızlı" noktası, ben bunu birkaç kez gördüm; Eğer bu yola gitmek istiyorsanız, daha hızlı ne olduğunu bilmek, profil zorunda anlamına gelir (ya da belki de sunucu üzerinde yük meselesi oldu - ama ben daha ASİT fazla hız gerekli özel durumlarda, oldu özel durum!)
Using PDO, mysql_*
, or mysqli_*
shouldn't make much of a difference, here -- even if it's recommended not to use mysql_*
(old, and doesn't support some features of MySQL >= 4.1, such as prepared statements).