เรามีเซิร์ฟเวอร์ Windows 2008 x64 ขนาดใหญ่ (4 x 4 คอร์ CPU, 32GB RAM) ที่ใช้ SQL Server 2005 64 บิต เรามีขนาดเล็ก (6GB) แต่มีฐานข้อมูลที่สำคัญมากซึ่งค่อนข้างช้าในการเข้าถึงจนกว่าหน้าเว็บจะถูกเก็บไว้ในหน่วยความจำ (การใช้งานเป็นแบบสุ่มมาก I / O ดังนั้นอัตราต่อรองต่ำมากหน้าหนึ่งอยู่ในหน่วยความจำและผู้ใช้ปลายทาง บ่นเกี่ยวกับความเชื่องช้าเริ่มต้น) ดิสก์นั้นเร็วพอ (Local 15K SAS) แต่ฉันเดาว่าแอพค่อนข้างเขียนอย่างงุ่มง่าม (มันเป็นวิธีแก้ปัญหา COTS) ดังนั้นฉันสงสัยว่ามีวิธี "บังคับ" ฐานข้อมูลในหน่วยความจำใน SQL Server 2005 (2008) ไม่รองรับ โดยผู้ขายดังนั้นเราไม่ควรอัปเกรดเป็น) เพื่อช่วยหลีกเลี่ยงบลูส์การเติมแคชเริ่มต้นหรือไม่
วิธีปัจจุบันของฉันคือฉันเรียกใช้ SELECT * จากแต่ละตารางในสคริปต์เพื่อรับหน้าข้อมูลในหน่วยความจำ แต่วัตถุบางอย่าง (ดัชนีการค้นหาข้อความแบบเต็ม ฯลฯ ) ไม่ได้ถูกแคชด้วยวิธีนี้ (และการปรับเปลี่ยนสคริปต์เพื่อสอบถามดัชนีและ เขียนคำสั่ง WHERE ที่เหมาะสมเพื่อแคชเป็นคอมเพล็กซ์ที่ต้มเดือดในมหาสมุทร)