ฉันกำลังเชื่อมต่อฐานข้อมูล MySQL กับPHP Data Objects (PDO) และดำเนินการสืบค้น SQL ที่กว้างขวาง โดยปกติจะใช้เวลาประมาณ 1,500 ms; ฉันยังต้องเพิ่มประสิทธิภาพ เมื่อฉันรันสคริปต์ PHP สองครั้งโดยมีช่วงเวลาสั้น ๆ ระหว่างการสืบค้นจะใช้เวลาประมาณ 90 ms เท่านั้น แบบสอบถามอยู่ในทั้งสองกรณีเดียวกัน เมื่อฉันเรียกใช้สคริปต์ด้วยแบบสอบถามเดียวกันหลังจากเวลาอีกครั้งมันใช้เวลา 1500 ms อีกครั้ง
ทำไมถึงเป็นอย่างนั้น? แคชฐานข้อมูลอัตโนมัติหรือไม่ มีบางครั้งที่ฐานข้อมูลบันทึกแคชแล้วลบออกโดยอัตโนมัติหรือไม่
ฉันคิดว่าผลลัพธ์ไม่สามารถแคชได้โดย PHP เพราะสิ่งนี้เกิดขึ้นในสองกระทู้ ฉันไม่คิดว่า PHP จะแคชผลลัพธ์เพราะไม่ทราบว่าฐานข้อมูลมีการเปลี่ยนแปลงหรือไม่
ฉันมีสคริปต์ทำงานทุกนาทีเพื่อแทรกแถวใหม่ไปยังฐานข้อมูล นี่อาจเป็นเหตุผลที่ใช้เวลา 1500 ms อีกครั้งหลังจากผ่านไประยะหนึ่ง แคชจะถูกลบเนื่องจากตารางที่เกี่ยวข้องไม่เหมือนเดิมอีกต่อไป