สรุป
การอัปเดตนี้จะแนะนำอาร์กิวเมนต์คำแนะนำคิวรีใหม่ให้ใช้คำแนะนำซึ่งจะช่วยให้คุณสามารถขับเคลื่อนตัวเพิ่มประสิทธิภาพของคิวรีได้โดยไม่มีการยกระดับข้อมูลประจำตัวหรือโดยไม่ต้องเป็นสมาชิกของบทบาทเซิร์ฟเวอร์ sysadmin ไวยากรณ์ของคำแนะนำคิวรีใหม่นี้มีลักษณะดังต่อไปนี้:
<query_hint > ::={USE HINT(N'key' [ [, ]...n ])}
การอัปเดตนี้ยังแนะนำตัวเลือกคำแนะนำต่อไปนี้ที่สามารถใช้ได้กับอาร์กิวเมนต์ใช้คำใบ้
เลือก |
ค่าสถานะการติดตามที่เทียบเท่า |
คำอธิบาย |
นำไปใช้กับ |
---|---|---|---|
ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS |
TF ๙๔๗๖ |
ทำให้ SQL Server สร้างแผนการสอบถามโดยใช้สมมติฐานการบรรจุอย่างง่ายแทนที่จะเป็นค่าเริ่มต้นของสมมติฐานการบรรจุพื้นฐานสำหรับการรวมภายใต้ตัวเพิ่มประสิทธิภาพของคิวรี รูปแบบการประเมินของ SQL Server ๒๐๑๔ (12 x) หรือใหม่กว่า |
|
ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES |
TF๔๑๓๗ |
ทำให้ SQL Server สร้างแผนโดยใช้การกำหนดค่าน้อยที่สุดเมื่อประเมินและเพรดิเคตสำหรับตัวกรองไปยังบัญชีผู้ใช้สำหรับความสัมพันธ์ ชื่อคำใบ้นี้จะขนานกับ ติดตามค่าสถานะ ๔๑๓๗เมื่อใช้กับรูปแบบการประมาณการนับจำนวนของ SQL Server ๒๐๑๒ (11 x) และเวอร์ชันก่อนหน้าและมีเอฟเฟ็กต์ที่คล้ายกันเมื่อ มีการใช้ค่าสถานะ การติดตาม๙๔๗๑กับรูปแบบการประเมินของ sql Server ๒๐๑๔ (12 x) หรือสูงกว่า |
|
DISABLE_BATCH_MODE_ADAPTIVE_JOINS |
ปิดใช้งานการรวมการปรับโหมดชุดงาน |
การเริ่มต้นใน SQL Server ๒๐๑๗ |
|
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK |
ปิดใช้งานคำติชมให้สิทธิ์หน่วยความจำของโหมดชุดงาน |
การเริ่มต้นใน SQL Server ๒๐๑๗ |
|
DISABLE_DEFERRED_COMPILATION_TV |
ปิดใช้งานการคอมไพล์ตัวแปรตารางที่เลื่อนออกไป |
การเริ่มต้นใน SQL Server ๒๐๑๙ |
|
DISABLE_INTERLEAVED_EXECUTION_TVF |
ปิดใช้งานการดำเนินการ interleaved สำหรับฟังก์ชันที่มีค่าเป็นตารางแบบหลายคำสั่ง |
การเริ่มต้นใน SQL Server ๒๐๑๗ |
|
DISABLE_OPTIMIZED_NESTED_LOOP |
TF ๒๓๔๐ |
แนะนำตัวประมวลผลคิวรีไม่ให้ใช้การดำเนินการเรียงลำดับ (การเรียงลำดับชุดงาน) สำหรับการรวมการวนรอบที่ซ้อนกันเมื่อสร้างแผนคิวรี |
|
DISABLE_OPTIMIZER_ROWGOAL |
TF๔๑๓๘ |
ทำให้ SQL Server สร้างแผนที่ไม่ได้ใช้การปรับเปลี่ยนเป้าหมายของแถวที่มีคิวรีที่มีคำสำคัญเหล่านี้:
|
|
DISABLE_PARAMETER_SNIFFING |
TF๔๑๓๖ |
แนะนำให้เพิ่มประสิทธิภาพของคิวรีเพื่อใช้การแจกจ่ายข้อมูลโดยเฉลี่ยในขณะที่การคอมไพล์แบบสอบถามที่มีพารามิเตอร์อย่างน้อยหนึ่งพารามิเตอร์ คำแนะนำนี้จะทำให้แผนคิวรีไม่ขึ้นอยู่กับค่าพารามิเตอร์ที่ใช้ครั้งแรกเมื่อมีการคอมไพล์คิวรี ใช้คำแนะนำนี้เพื่อแทนที่การตั้ง PARAMETER_SNIFFING ค่าการกำหนดค่าลักษณะฐานข้อมูล. |
|
DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK |
ปิดใช้งานคำติชมให้สิทธิ์หน่วยความจำโหมดแถว |
การเริ่มต้นใน SQL Server ๒๐๑๙ |
|
DISABLE_TSQL_SCALAR_UDF_INLINING |
ปิดใช้งานการ inlining UDF ของสเกลา |
การเริ่มต้นใน SQL Server ๒๐๑๙ |
|
DISALLOW_BATCH_MODE |
ปิดใช้งานการดำเนินการโหมดชุดงาน |
การเริ่มต้นใน SQL Server ๒๐๑๙ |
|
ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS |
TF๔๑๓๙ |
เปิดใช้งานสถิติด่วนที่สร้างขึ้นโดยอัตโนมัติ (การแก้ไขฮิสโตแกรม) สำหรับคอลัมน์ดัชนีชั้นนำใดๆที่จำเป็นต้องมีการประเมินจำนวนนับ ฮิสโตแกรมที่ใช้ในการประเมินจำนวนนับจะได้รับการปรับปรุงที่คิวรีการคอมไพล์เวลากับบัญชีสำหรับค่าสูงสุดจริงหรือค่าน้อยที่สุดของคอลัมน์นี้ |
|
ENABLE_QUERY_OPTIMIZER_HOTFIXES |
TF๔๑๙๙ |
เปิดใช้งานโปรแกรมแก้ไขด่วนเพิ่มประสิทธิภาพของคิวรี (การเปลี่ยนแปลงที่นำออกใช้ใน SQL Server สะสมการอัปเดตและเซอร์วิสแพ็ค) ใช้คำแนะนำนี้เพื่อแทนที่ การตั้งค่าการกำหนดค่าลักษณะฐานข้อมูล QUERY_OPTIMIZER_HOTFIXES = ON. |
|
FORCE_DEFAULT_CARDINALITY_ESTIMATION |
TF๙๔๘๑ |
บังคับให้เพิ่มประสิทธิภาพของคิวรีให้ใช้ รูปแบบการประมาณการนับ ค่าที่สอดคล้องกับระดับความเข้ากันได้ของฐานข้อมูลปัจจุบัน ใช้คำแนะนำนี้เพื่อแทนที่ การตั้งค่าการกำหนดค่าลักษณะฐานข้อมูลLEGACY_CARDINALITY_ESTIMATION = ON. |
|
FORCE_LEGACY_CARDINALITY_ESTIMATION |
TF ๙๔๘๑ |
บังคับให้เพิ่มประสิทธิภาพของคิวรีให้ใช้ รูปแบบการประเมินของ SQL Server ๒๐๑๒ (11. x) และเวอร์ชันก่อนหน้า ใช้คำแนะนำนี้เพื่อแทนที่การตั้งค่าการกำหนดค่าลักษณะฐานข้อมูลที่LEGACY_CARDINALITY_ESTIMATION = ON. |
|
QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n |
บังคับใช้ลักษณะการทำงานเพิ่มประสิทธิภาพของคิวรีในระดับคิวรี ลักษณะการทำงานนี้เกิดขึ้นเมื่อมีการคอมไพล์แบบสอบถามกับระดับความเข้ากันได้ของฐานข้อมูล nโดยที่nคือระดับความเข้ากันได้ของฐานข้อมูลที่ได้รับการสนับสนุน อ้างอิงไปยังsys.dm_exec_valid_use_hintsสำหรับรายการของค่าที่ได้รับการสนับสนุนในขณะนี้สำหรับn. |
การเริ่มต้นใน SQL Server ๒๐๑๗ (3.x) CU10 |
สำหรับข้อมูลเพิ่มเติมให้ดูที่คำแนะนำ (Transact SQL)-คิวรี
ข้อมูลเพิ่มเติม
การอัปเดตนี้จะรวมอยู่ใน Service Pack 1 สำหรับ SQL Server ๒๐๑๖
รุ่นใหม่แต่ละรุ่นสำหรับ SQL Server ๒๐๑๖ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในรุ่นก่อนหน้า เราขอแนะนำให้คุณติดตั้งรุ่นล่าสุดสำหรับ SQL Server ๒๐๑๖
สถานการณ์สมมติที่ลักษณะการทำงานของตัวเพิ่มประสิทธิภาพของ SQL Server query (QO) จะต้องเป็น hinted ทั่วไปและแบบดั้งเดิมที่ได้รับการแก้ไขโดยใช้ค่าสถานะการติดตามหลาย (เอกสารและอธิบาย) อย่างไรก็ตามเมื่อตั้งค่าสถานะการติดตามจะถูกตั้งค่าส่วนกลางพวกเขาอาจมีผลกระทบต่อปริมาณงานอื่นๆ นอกจากนี้การเปิดใช้งานต่อเซสชันไม่สามารถใช้ได้กับแอปพลิเคชันที่มีอยู่แล้วและการเปิดใช้งานการสอบถามต่อคิวรีที่มีตัวเลือก QUERYTRACEONจำเป็นต้องเป็นสมาชิกในบทบาทเซิร์ฟเวอร์ถาวรของ sysadmin (แม้ว่าคุณจะสามารถแก้ไขปัญหานี้ได้โดยใช้คู่มือวางแผนหรือกระบวนงานที่เก็บข้อมูลประจำตัวที่มีการยกระดับจะยังคงจำเป็นต้องใช้ข้อมูลประจำตัว) ค่าสถานะการติดตามจะถูกใช้ในการตั้งค่าลักษณะของเซิร์ฟเวอร์ที่เฉพาะเจาะจงชั่วคราวหรือเมื่อต้องการปิดลักษณะการทำงานบางอย่างอาจเป็นเรื่องยากที่จะจัดการและทำความเข้าใจ สำหรับข้อมูลเกี่ยวกับค่าสถานะการติดตามให้ดูหัวข้อการติดตามค่าสถานะ (TRANSACT SQL) บนเว็บไซต์ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN)
อ้างอิง
เรียนรู้เกี่ยวกับคำ ศัพท์เฉพาะทางที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์