Ben MySQL hazırlanan tabloların güvenlik faydaları anlamak. Burada bu konuyu kapsayacak gerek yok. Onlardan performans yönü merak ediyorum.
Sorgu yalnızca her bir sorgu için bir kez, bir kez ayrıştırılır çünkü hazırlanmış bir deyimi kullanarak bir sorgu tek bir PHP komut dosyası iki kez çalıştırıldığında Şimdi, biliyorum, daha hızlı. İstemci hazırlamak için bir gezi yapar, sonra iki kez ikili protokolünü kullanarak veri gönderir. Ikili protokol daha hızlı, ve ikinci bir kez ayrıştırmak zorunda isabet alarak değil.
Ancak, ne ben sadece tek bir PHP komut dosyası bir kez sorgu gerçekleştirmek istediğiniz davayla ilgili? Bu kez hazırlamak için, sunucuya iki geziler yapıyoruz çünkü hazır deyim, kötü kullanıldığı gibi görünüyor, ve bir kez veri göndermek için. Sadece bir kez ayrıştırmak zorunda yararı kaybolur, ve bu ikinci gezi için cezalandırılmış demektir. Veri ikili biçimde yeterince küçük değilse, doğru hazırlanmış bir deyimi kullanarak kaybetmek?
Ancak, PHP'nin mysqli veya PDO kütüphaneleri ne hakkında bazı çelişkili raporlar okudum? Ya onları komut dosyası yürütme karşısında hazırlanmış deyimi önbelleğe musunuz? Sunucu bir sonraki pageload üzerinde veya yeniden hazırlanmış deyimi ayrıştırmak zorunda mı? Cevap deyimi ikinci pageload çözümlenen olmak zorunda değil ki, hayır ise, o zaman sadece pageload kez başına sorgu yürütme olsanız bile hazır tablolar, daha iyi olduğu görünüyor.
Şey bu ilgili MySQL sürümleri arasında değişti eğer dikkate alınız. Sen güvenle PHP 5.2 kullanıyorum varsayabiliriz
EDIT: Sadece açıklığa kavuşturmak için, ben MySQL sürümü belirterek, özellikle MySQL ve PHP için bir cevap istiyorum ve bu hiç farklı oldu, ve SADECE performansını dikkate eğer, kullanım veya güvenlik kolaylığı değil.
GÜNCELLEME: Ben çünkü takip yorumun yaptım cevabı kabul birkaç iyi fikirleri vardı. Ben hala kimse ben herhangi bir kesinlik sordu gerçek sorunun dönüm noktası cevap mümkün görünüyor ki biraz hayal kırıklığına uğrattı. Bazen cevap gerçekten sanırım "duruma göre değişir."