Ne kadar do hazır sorgular "son"

3 Cevap php

Ben sadece hazır sorgular nasıl çalıştığını merak ediyordum. PHP ve MySQL kullanıyorum.

Ben hazırlanmış sorguları yalnızca parametrelerini değiştirmek zorunda kullandığı tekrarlanan sonra sorgu derlemek ve biliyorum, bu yüzden zaman kazandırır. Ama bu derlenmiş sorgu etkisi ne kadar var? Hangi noktada Reevaluated zorunda? Sadece sürece PHP komut dosyası çalıştığı gibi mi? Ya da sürece veritabanına bağlantı mevcut olduğu gibi? Bu durumda, kalıcı bir bağlantı üzerinde herhangi bir etkisi olurdu?

3 Cevap

ryeguy, bu bağlantının uzunluğu için son. MySQL kılavuzuna göre:

Bir hazırlanmış deyimi oluşturulduğu oturumda özgüdür. Eğer önceden hazırlanmış deyimi ayırmayı olmadan bir oturumu sonlandırmak istiyorsanız, sunucu otomatik olarak kaldırır.

Eğer kalıcı bağlantılarını kullanarak değilseniz script (veya açıkça ayırması veya bağlantısını kapatmak) yürütülürken tamamlandıktan sonra bu ayırmanın edilecektir. Kalıcı bağlantıları kullanıyorsanız, o zaman aynı kalıcı bağlantıyı kullanarak birden çok PHP oturumları arasında devam edecek.

Bildiğim kadarıyla, bir hazırlanan sorgu depolamak değişkeni kapsamında sürece sadece "son" olduğu gibi. Ben daha sonra kullanılmak üzere hazırlanmış sorguları önbelleğe için bazı yolları var olabilir varsayalım, ancak MySQL bu yaparsa ben bilmiyorum.

hobodave doğru, onlar gibi uzun oturum olarak içeri oluşturulan son

Düşünün bir başka şey de var:

7.5.5. The MySQL Query Cache

Note

The query cache is not used for prepared statements. If you are using prepared statements, consider that these statements will not be satisfied by the query cache.