1
SELECT TOP 1 จากตารางที่มีขนาดใหญ่มากในคอลัมน์ดัชนีนั้นช้ามาก แต่ไม่ใช่ด้วยลำดับย้อนกลับ (“ desc”)
เรามีฐานข้อมูลขนาดใหญ่ประมาณ 1TB ใช้ SQL Server 2014 บนเซิร์ฟเวอร์ที่ทรงพลัง ทุกอย่างทำงานได้ดีไม่กี่ปี ประมาณ 2 สัปดาห์ที่ผ่านมาเราทำการบำรุงรักษาอย่างสมบูรณ์ซึ่งรวมถึง: ติดตั้งอัปเดตซอฟต์แวร์ทั้งหมด สร้างดัชนีและไฟล์ฐานข้อมูลขนาดกะทัดรัดทั้งหมด อย่างไรก็ตามเราไม่ได้คาดหวังว่าในบางช่วงการใช้งาน CPU ของ DB จะเพิ่มขึ้นมากกว่า 100% เป็น 150% เมื่อการโหลดจริงเหมือนกัน หลังจากการแก้ไขปัญหาจำนวนมากเราได้ จำกัด ให้แคบลงเป็นคำถามที่ง่ายมาก แต่เราไม่พบวิธีแก้ปัญหา การสืบค้นนั้นง่ายมาก: select top 1 EventID from EventLog with (nolock) order by EventID ใช้เวลาประมาณ 1.5 วินาทีเสมอ! อย่างไรก็ตามเคียวรีที่คล้ายกันที่มี "desc" จะใช้เวลาประมาณ 0 ms: select top 1 EventID …