Teradata - การปรับแต่งประสิทธิภาพ

บทนี้จะกล่าวถึงขั้นตอนของการปรับแต่งประสิทธิภาพใน Teradata

อธิบาย

ขั้นตอนแรกในการปรับแต่งประสิทธิภาพคือการใช้ EXPLAIN ในแบบสอบถามของคุณ แผน EXPLAIN ให้รายละเอียดว่าเครื่องมือเพิ่มประสิทธิภาพจะดำเนินการค้นหาของคุณอย่างไร ในแผน Explain ให้ตรวจสอบคีย์เวิร์ดเช่นระดับความเชื่อมั่นกลยุทธ์เข้าร่วมที่ใช้ขนาดไฟล์สปูลการแจกจ่ายซ้ำ ฯลฯ

รวบรวมสถิติ

เครื่องมือเพิ่มประสิทธิภาพใช้ข้อมูลประชากรเพื่อสร้างกลยุทธ์การดำเนินการที่มีประสิทธิภาพ คำสั่ง COLLECT STATISTICS ใช้เพื่อรวบรวมข้อมูลประชากรของตาราง ตรวจสอบให้แน่ใจว่าสถิติที่รวบรวมในคอลัมน์เป็นข้อมูลล่าสุด

  • รวบรวมสถิติเกี่ยวกับคอลัมน์ที่ใช้ในส่วนคำสั่ง WHERE และคอลัมน์ที่ใช้ในเงื่อนไขการรวม

  • รวบรวมสถิติในคอลัมน์ดัชนีหลักที่ไม่ซ้ำกัน

  • รวบรวมสถิติในคอลัมน์ดัชนีรองที่ไม่ซ้ำกัน Optimizer จะตัดสินใจว่าสามารถใช้ NUSI หรือ Full Table Scan ได้หรือไม่

  • รวบรวมสถิติในดัชนีเข้าร่วมแม้ว่าจะมีการรวบรวมสถิติบนตารางฐาน

  • รวบรวมสถิติเกี่ยวกับคอลัมน์การแบ่งพาร์ติชัน

ประเภทข้อมูล

ตรวจสอบให้แน่ใจว่ามีการใช้ประเภทข้อมูลที่เหมาะสม วิธีนี้จะหลีกเลี่ยงการใช้พื้นที่เก็บข้อมูลมากเกินความจำเป็น

การแปลง

ตรวจสอบให้แน่ใจว่าชนิดข้อมูลของคอลัมน์ที่ใช้ในเงื่อนไขการรวมเข้ากันได้เพื่อหลีกเลี่ยงการแปลงข้อมูลที่โจ่งแจ้ง

จัดเรียง

ลบคำสั่ง ORDER BY ที่ไม่จำเป็นออกเว้นแต่จำเป็น

ปัญหาเกี่ยวกับ Spool Space

ข้อผิดพลาดของพื้นที่สปูลจะถูกสร้างขึ้นหากการค้นหาเกินขีด จำกัด พื้นที่สปูล AMP สำหรับผู้ใช้รายนั้น ตรวจสอบแผนการอธิบายและระบุขั้นตอนที่ใช้พื้นที่สปูลมากขึ้น แบบสอบถามระดับกลางเหล่านี้สามารถแยกและวางแยกกันเพื่อสร้างตารางชั่วคราว

ดัชนีหลัก

ตรวจสอบให้แน่ใจว่าดัชนีหลักถูกกำหนดไว้อย่างถูกต้องสำหรับตาราง คอลัมน์ดัชนีหลักควรกระจายข้อมูลอย่างเท่าเทียมกันและควรใช้บ่อยครั้งเพื่อเข้าถึงข้อมูล

ตาราง SET

หากคุณกำหนดตาราง SET ตัวเพิ่มประสิทธิภาพจะตรวจสอบว่าระเบียนนั้นซ้ำกันสำหรับแต่ละระเบียนหรือไม่ หากต้องการลบเงื่อนไขการตรวจสอบที่ซ้ำกันคุณสามารถกำหนดดัชนีรองเฉพาะสำหรับตารางได้

อัปเดตบนโต๊ะขนาดใหญ่

การอัปเดตตารางขนาดใหญ่จะใช้เวลานาน แทนที่จะอัปเดตตารางคุณสามารถลบระเบียนและแทรกระเบียนด้วยแถวที่แก้ไขได้

การวางตารางชั่วคราว

วางตารางชั่วคราว (ตารางการจัดเตรียม) และ volatiles หากไม่จำเป็นอีกต่อไป สิ่งนี้จะเพิ่มพื้นที่ว่างถาวรและพื้นที่สปูล

ตารางหลายชุด

หากคุณแน่ใจว่าระเบียนอินพุตจะไม่มีระเบียนที่ซ้ำกันคุณสามารถกำหนดตารางเป้าหมายเป็นตาราง MULTISET เพื่อหลีกเลี่ยงการตรวจสอบแถวที่ซ้ำกันซึ่งใช้โดยตาราง SET