Saya menghubungkan database MySQL dengan PHP Data Objects (PDO) dan mengeksekusi query SQL yang luas. Biasanya, dibutuhkan sekitar 1500 ms; Saya masih perlu mengoptimalkannya. Ketika saya menjalankan skrip PHP dua kali dengan interval pendek di antaranya, kueri hanya membutuhkan waktu sekitar 90 ms. Kueri dalam kedua kasus sama. Ketika saya menjalankan skrip, dengan permintaan yang sama, setelah beberapa waktu lagi, dibutuhkan 1500 ms lagi.
Mengapa demikian? Apakah basis data cache secara otomatis? Apakah ada waktu database menyimpan cache dan kemudian secara otomatis menghapusnya?
Saya berasumsi hasilnya tidak dapat di-cache oleh PHP, karena ini terjadi dalam dua utas yang berbeda. Saya tidak akan berpikir PHP akan men-cache hasil, karena tidak dapat mengetahui apakah database telah berubah.
Saya memiliki skrip yang berjalan setiap menit untuk menyisipkan baris baru ke database. Ini mungkin juga menjadi alasan bahwa dibutuhkan 1500 ms lagi setelah beberapa waktu; cache sudah dihapus, karena tabel yang relevan tidak sama lagi.