PHP mysqli :: autocommit VS "BAŞLANGIÇ İŞLEM"

1 Cevap php

Bizim veritabanı katmanı nesnesi olarak, biz her zaman "BAŞLANGIÇ İŞLEM", "ROLLBACK" ile işlemler başarmış ve mysqli :: sorgu ile idam SQL deyimlerini "COMMIT".

Bugün biraz araştırma yapmak, ben this mention in the MySQL Manual API seviyesini kullanarak ilgili düz SQL kullanarak VS bir işlem yönetmek için çağırır keşfetti:

Önemli

Many APIs used for writing MySQL client applications (such as JDBC) provide their own methods for starting transactions that can (and sometimes should) be used instead of sending a START TRANSACTION statement from the client. See Chapter 20, Connectors and APIs, or the documentation for your API, for more information.

Ve, yakın mysqli'nin bakarak üzerine, (http://us.php.net/manual/en/class.mysqli.php) mysqli :: autocommit, mysqli :: rollback ve mysqli :: bir işlem yönetme için yöntemler taahhüt bulundu .

Benim soru: neden bu mysqli eşdeğer kullanmak ve daha iyidir? Ben ya da neden bu işlevleri düz SQL meslektaşlarının daha iyi performans ise diyor ki hiçbir söz her yerde bulabilirsiniz.

1 Cevap

Bir veri erişim sarıcı bir işlemin sona erdiği / başladı bilmeniz gerekir nedenleri olabilir mümkündür. Kafamın üst kapalı Örneğin, bir bağlantı havuzu şeması Önceden kullanılan bir bağlantı bir işlemin ortasında ile bitmiş, ve bu durumda yeniden kullanım için bağlantı havuzu iade değildi bilmeniz gerekir.

Ben yerli yöntemi yerine SQL sürümünü kullanmak için gerektirecek mysqli herhangi sorunların farkında değilim, ama bu sadece "bazen gerektiği" var ... Bu yüzden genel durumda muhtemelen bulunuyor. Her durumda, PHP yöntemi, SQL-string sürümünden daha okumak daha kolaydır, bu yüzden ben yine de bunun ile gitmek söyleyebilirim.