PHP Veri Nesneleri (PDO) ile bir MySQL veritabanı arabirim ve kapsamlı bir SQL sorgusu yürütüyorum. Normal olarak, yaklaşık 1500 ms sürer; Hala optimize etmem gerekiyor. Ben PHP komut dosyası arasında kısa bir ara ile iki kez çalıştırdığımda, sorgu sadece yaklaşık 90 ms sürer. Sorgu her iki durumda da aynıdır. Komut dosyasını aynı sorguyla çalıştırdığımda, bir süre sonra tekrar 1500 ms sürüyor.
Neden? Veritabanı otomatik olarak önbellekliyor mu? Veritabanı önbelleği kaydedip otomatik olarak siler bir süre var mı?
Sonuçların PHP tarafından önbelleğe alınamayacağını düşünüyorum, çünkü bu iki farklı iş parçacığında gerçekleşir. Ben veritabanı değişti olup olmadığını bilmiyorum, çünkü PHP sonuçları önbelleğe olacağını düşünmek olmaz.
Veritabanına yeni satırlar eklemek için her dakika çalışan bir komut dosyası var. Bu, bir süre sonra tekrar 1500 ms sürmesinin de nedeni olabilir; ilgili tablolar artık aynı olmadığından önbellek silinirdi.