อาการ
แผนปฏิบัติการคิวรีบางอย่างใน Microsoft SQL Server มีรูปแบบของการประเมินตัวกรองที่ด้านบนของตารางหรือดัชนีการดําเนินการสแกน/ช่วง บางส่วนของเพรดิเคตตัวกรองอาจตรงกับคีย์ดัชนี ดังนั้นจึงอาจถูกใช้เพื่อเรียกใช้การค้นหาดัชนีหรือการสแกนช่วง ส่วนที่เหลือของเพรดิเคตเรียกว่า "ส่วนที่เหลือ" และต้องได้รับการประเมินสําหรับแต่ละแถวที่แสดงผลโดยการสแกนหรือการดําเนินการช่วง ซึ่งจะสอดคล้องกับตัวดําเนินการตัวกรอง อย่างไรก็ตาม เพื่อปรับปรุงประสิทธิภาพการทํางาน SQL Server สามารถผลักตัวกรองดังกล่าวไปยังตัวดําเนินการการเข้าถึงตารางได้
แม้ว่าวิธีนี้จะช่วยปรับปรุงประสิทธิภาพโดยรวม ภายใต้เงื่อนไขบางอย่าง (ตัวอย่างเช่น ในกรณีที่การประมาณคาร์ดินาลลิตี้ไม่ถูกต้องซึ่งเกี่ยวข้องกับความไวของพารามิเตอร์) ตัวกรองการสแกนด้านล่างอาจกําลังประมวลผลแถวจํานวนมากกว่าที่คาดไว้ ข้อเท็จจริงนี้อาจถูกซ่อนระหว่างการแก้ไขปัญหาประสิทธิภาพคิวรี เมื่อคุณใช้แผนปฏิบัติการจริง เนื่องจากจํานวนจริงของแถวที่ถูกส่งกลับจะสอดคล้องกับจํานวนแถวหลังจากนําเพรดิเคตที่เหลือไปใช้ ไม่ใช่จํานวนจริงของแถวที่ถูกสแกนจากตารางหรือดัชนี
การแก้ปัญหา
เพื่อปรับปรุงการวินิจฉัยสําหรับสถานการณ์สมมติที่อธิบายไว้ในส่วนอาการ SQL Server 2012 Service Pack 3 (SP3) และ SQL Server 2014 SP2 ได้เริ่มใช้แอตทริบิวต์ XML แผนการแสดงใหม่ คือ แถวที่อ่านจริง แอตทริบิวต์นี้จะให้ข้อมูลเกี่ยวกับจํานวนแถวที่อ่านโดยตัวดําเนินการก่อนที่จะใช้เพรดิเคตที่เหลือ
ฟังก์ชันนี้เริ่มนํามาใช้ใน Service Pack สําหรับ SQL Server ต่อไปนี้
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับ SQL Server 2012 Service Pack 3 (SP3) ให้ดูบักที่ได้รับการแก้ไขใน SQL Server 2012 Service Pack 3
Service Pack 2 for SQL Server for SQL Server 2014
SQL Server 2016 Service Pack 1 (SP1)
เกี่ยวกับ Service Pack สําหรับ SQL Server
Service Pack เป็นแบบสะสม Service Pack ใหม่แต่ละรายการประกอบด้วยการแก้ไขทั้งหมดที่อยู่ใน Service Pack ก่อนหน้า พร้อมกับการแก้ไขใหม่ๆ คําแนะนําของเราคือการใช้ Service Pack ล่าสุดและการอัปเดตแบบสะสมล่าสุดสําหรับ Service Pack ดังกล่าว คุณไม่จําเป็นต้องติดตั้ง Service Pack รุ่นก่อนหน้าก่อนจึงจะติดตั้ง Service Pack รุ่นล่าสุด ใช้ตารางที่ 1 ในบทความต่อไปนี้เพื่อค้นหาข้อมูลเพิ่มเติมเกี่ยวกับ Service Pack ล่าสุดและการอัปเดตแบบสะสมล่าสุด
วิธีการพิจารณาเวอร์ชัน รุ่น และระดับการอัปเดต SQL Server และส่วนประกอบ