4
เปลี่ยนแบบสอบถามเพื่อปรับปรุงการประมาณการของผู้ให้บริการ
ฉันมีข้อความค้นหาที่ทำงานในเวลาที่ยอมรับได้ แต่ฉันต้องการบีบประสิทธิภาพให้ได้มากที่สุด การดำเนินการที่ฉันพยายามปรับปรุงคือ "ดัชนีค้นหา" ที่ด้านขวาของแผนจากโหนด 17 ฉันได้เพิ่มดัชนีที่เหมาะสม แต่ค่าประมาณที่ฉันได้รับสำหรับการดำเนินการนั้นเป็นครึ่งหนึ่งของที่ควรจะเป็น ฉันค้นหาการเปลี่ยนแปลงดัชนีและเพิ่มตารางชั่วคราวและเขียนแบบสอบถามอีกครั้ง แต่ฉันไม่สามารถทำให้มันง่ายไปกว่านี้เพื่อให้ได้ค่าประมาณที่ถูกต้อง ใครบ้างมีคำแนะนำเกี่ยวกับสิ่งอื่นที่ฉันสามารถลองได้บ้าง แผนเต็มรูปแบบและรายละเอียดที่สามารถพบได้ที่นี่ แผนไม่ระบุชื่อสามารถพบได้ที่นี่ ปรับปรุง: ฉันรู้สึกว่าคำถามเริ่มต้นสร้างความสับสนอย่างมากดังนั้นฉันจะเพิ่มรหัสดั้งเดิมพร้อมคำอธิบายบางอย่าง create procedure [dbo].[someProcedure] @asType int, @customAttrValIds idlist readonly as begin set nocount on; declare @dist_ca_id int; select * into #temp from @customAttrValIds where id is not null; select @dist_ca_id = count(distinct CustomAttrID) from CustomAttributeValues c …