T-SQL - OPTION (FAST x) และค่าสถานะการติดตาม 8722


9

ฉันค้นหาเป็นเวลานานและยังไม่พบคำตอบสำหรับปัญหาของฉัน

Dynamics AX ของเรากำลังสร้างการสืบค้นด้วยคำแนะนำการสืบค้น OPTION (FAST x) ซึ่งบางครั้งก็บังคับให้ใช้แผนการดำเนินการที่ไม่ดี ผู้พัฒนากล่าวว่าเป็นค่าเริ่มต้นและยากที่จะเปลี่ยนแปลง (ต้องแก้ไขในทุกรูปแบบที่อาจเกิดขึ้น)

ดังนั้นฉันจึงใช้วิธีแทนที่คำแนะนำเหล่านี้โดยใช้ค่าสถานะการติดตาม ฉันพบการตั้งค่าสถานะการสืบค้นกลับที่น่ารัก 8722 ซึ่งอ้างว่าทำให้ SQL Server ไม่สนใจคำแนะนำการสืบค้นบางอย่างโดยเฉพาะอย่างยิ่งคำสั่งย่อยใน OPTION

อย่างไรก็ตามนี่ไม่ได้ผลในกรณีของฉัน ฉันพยายามเปิดใช้งานการตั้งค่าสถานะการสืบค้นกลับ 8602 (ปิดใช้งานคำแนะนำดัชนี) เช่นกัน แต่แบบสอบถามของฉันยังคงทำงานด้วยคำใบ้ FAST x (มันช้ากว่าเมื่อฉันลบส่วนคำสั่ง OPTION ออก)

ฉันพยายามล้างแคชแผนเช่นกันเพื่อประโยชน์

ความคิดใด ๆ ฉันไม่มีอะไรเลยหรือ

PS ฉันเปิดใช้งานการตั้งค่าสถานะการติดตามทั่วโลกนี่คือ SQL Server 2012 Developer Edition


1
คุณเปิดแฟล็กการติดตามได้อย่างไร คุณเปิดใช้งานผ่านการเริ่มต้นเซิร์ฟเวอร์หรือใช้การติดตาม dbcc หรือไม่ dbcc traceon เป็นการเชื่อมต่อการติดตามการตั้งค่าสถานะดังนั้นการเปิดใช้งานในการเชื่อมต่อไคลเอนต์หนึ่งไม่มีผลต่อการเชื่อมต่อเซิร์ฟเวอร์อื่น ๆ หากต้องการเปิดใช้งานบนเซิร์ฟเวอร์คุณต้องเพิ่ม -T <traceflagnumber> ในบรรทัดคำสั่งเริ่มต้น ฉันเชื่อว่าคุณสามารถใช้การสืบค้นกลับ dbcc (flag1, flag2, ... , - 1) เพื่อใช้กับเซิร์ฟเวอร์ได้ แต่ฉันไม่เคยลองเลย
Mike

สวัสดีไมค์ฉันเปิดใช้งานการตั้งค่าสถานะการสืบค้นกลับทั่วโลกโดยใช้ DBCC TRACEON (8722, -1) จากนั้นตรวจสอบสถานะด้วย DBCC TRACESTATUS บางทีการตั้งค่าสถานะการสืบค้นกลับไม่ได้รับการสนับสนุนอย่างเป็นทางการอีกต่อไปหรือฉันต้องการใส่ไว้ในพารามิเตอร์เริ่มต้นและเริ่มบริการใหม่หรือเป็นหัวข้อของ CU3 (ฉันกำลังเรียกใช้ 2012 SP2 RTM)

คำตอบ:


10

เท่าที่ฉันรู้การตั้งค่าสถานะการสืบค้นกลับ 8722, 8755 และ 8602 ไม่เคยบันทึกอย่างเป็นทางการ ครั้งสุดท้ายที่ฉันจำได้ว่ามันมีประสิทธิภาพอยู่ใน SQL Server 2000 ดังนั้นจึงไม่น่าแปลกใจที่คุณพบว่ามันถูกละเว้นใน SQL Server 2012

สำหรับรูปแบบแบบสอบถามที่เฉพาะเจาะจงมักจะเป็นไปได้ที่จะลบFAST nคำใบ้โดยใช้คำแนะนำแผน ถึงกระนั้นการแก้ไขที่ดีที่สุดคือการให้นักพัฒนา AX เข้ามาแก้ไขในส่วนของแอพพลิเคชั่น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.