ฉันเพิ่งรัน T-SQL เคียวรีผ่าน DTA และหนึ่งในคำแนะนำคือการสร้างสถิติบนหนึ่งในคอลัมน์ที่เป็นส่วนหนึ่งของแบบสอบถามจำนวนมากในไฟล์รหัส SQL
คำถามของฉันคือสถิติช่วยในเรื่องประสิทธิภาพได้อย่างไร
ฉันเพิ่งรัน T-SQL เคียวรีผ่าน DTA และหนึ่งในคำแนะนำคือการสร้างสถิติบนหนึ่งในคอลัมน์ที่เป็นส่วนหนึ่งของแบบสอบถามจำนวนมากในไฟล์รหัส SQL
คำถามของฉันคือสถิติช่วยในเรื่องประสิทธิภาพได้อย่างไร
คำตอบ:
สถิติถูกใช้เมื่อสร้างแผนการดำเนินการแบบสอบถาม
สถิติสำหรับการปรับให้เหมาะสมของแบบสอบถามเป็นวัตถุที่มีข้อมูลสถิติเกี่ยวกับการกระจายของค่าในหนึ่งคอลัมน์ขึ้นไปของตารางหรือมุมมองที่จัดทำดัชนี เครื่องมือเพิ่มประสิทธิภาพการสืบค้นใช้สถิติเหล่านี้เพื่อประเมินความเป็นเชิงจำนวนหรือจำนวนแถวในผลลัพธ์การสืบค้น การประมาณความผิดพลาดเหล่านี้เปิดใช้งานเครื่องมือเพิ่มประสิทธิภาพคิวรีเพื่อสร้างแผนคิวรีคุณภาพสูง ตัวอย่างเช่นเคียวรีเครื่องมือเพิ่มประสิทธิภาพสามารถใช้การประมาณแบบ cardinality ในการเลือกตัวดำเนินการค้นหาดัชนีแทนตัวดำเนินการสแกนดัชนีที่ใช้ทรัพยากรมากขึ้นและเพื่อปรับปรุงประสิทธิภาพการสืบค้น
ดูhttp://msdn.microsoft.com/en-us/library/ms190397.aspxสำหรับรายละเอียดเพิ่มเติม
หาก DTA แนะนำสถิติคอลัมน์เดียวคุณต้องปิดการสร้างสถิติอัตโนมัติหรือไม่ สร้างอัตโนมัติจะสร้างสถิติในคอลัมน์ใด ๆ ที่ใช้ในเพรดิเคตโดยอัตโนมัติดังนั้นโดยทั่วไปแล้วควรเปิดทิ้งไว้ ตรวจสอบสถานะของการอัพเดทอัตโนมัติสำหรับฐานข้อมูลนี้ซึ่งโดยปกติควรจะเปิดอีกครั้ง
หนึ่งในการใช้งานที่ดีที่สุดของ DTA คือการระบุสถิติหลายคอลัมน์ที่ขาดหายไปซึ่งการสร้างอัตโนมัติจะไม่สร้าง แต่สำหรับคอลัมน์เดียวการสร้างอัตโนมัติควรดูแลพวกเขาให้คุณ