อาการ
สมมติว่าคุณเรียกใช้คิวรีที่เกี่ยวข้องกับการรวมหรือการรวม บนคอลัมน์ที่ได้รับการคุ้มครองโดยทั้งคอลัมน์เดียวและหลายคอลัมน์ สถิติ (คอลัมน์นี้ไม่ใช่คอลัมน์ที่นำหน้า) ถ้าคุณกำลังใช้ ค่าเริ่มต้นประมาณ (CE) ใน SQL Server ๒๐๑๖อาจเป็นตัวเลขที่ไม่ถูกประมาท ของแถวที่แตกต่างกัน การดำเนินการนี้จะนำไปใช้กับแผนการดำเนินการคิวรีที่ดีที่สุดย่อย (ตัวอย่างเช่น: การประเมินต่ำอาจทำให้เกิดหน่วยความจำไม่เพียงพอสำหรับตัวดำเนินการแฮชซึ่งทำให้คิวรีหกเป็น tempdb)
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตที่สะสมสำหรับ SQL Server ต่อไปนี้:
หมายเหตุ เพื่อให้การแก้ไขนี้มีผลคุณจำเป็นต้องเปิดใช้งานโปรแกรมแก้ไขด่วนเพิ่มประสิทธิภาพของคิวรีโดยใช้ค่าสถานะการติดตาม (TF) ๔๑๙๙หรือตัวเลือกการกำหนดค่าลักษณะฐานข้อมูลที่สอดคล้องกันหรือตัวเลือกคำแนะนำแบบสอบถาม
เกี่ยวกับการอัปเดตที่สะสมสำหรับ SQL Server:
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
วิธีแก้ไขปัญหาชั่วคราว
ปัญหานี้สามารถแก้ไขได้โดยการเพิ่มคำแนะนำคิวรีต่อไปนี้:
ใช้ คำใบ้ (' FORCE_LEGACY_CARDINALITY_ESTIMATION ')
อ้างอิง
เรียนรู้เกี่ยวกับคำศัพท์เฉพาะ ทางที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์