Teradata - การปรับแต่งประสิทธิภาพ
บทนี้จะกล่าวถึงขั้นตอนของการปรับแต่งประสิทธิภาพใน Teradata
อธิบาย
ขั้นตอนแรกในการปรับแต่งประสิทธิภาพคือการใช้ EXPLAIN ในแบบสอบถามของคุณ แผน EXPLAIN ให้รายละเอียดว่าเครื่องมือเพิ่มประสิทธิภาพจะดำเนินการค้นหาของคุณอย่างไร ในแผน Explain ให้ตรวจสอบคีย์เวิร์ดเช่นระดับความเชื่อมั่นกลยุทธ์เข้าร่วมที่ใช้ขนาดไฟล์สปูลการแจกจ่ายซ้ำ ฯลฯ
รวบรวมสถิติ
เครื่องมือเพิ่มประสิทธิภาพใช้ข้อมูลประชากรเพื่อสร้างกลยุทธ์การดำเนินการที่มีประสิทธิภาพ คำสั่ง COLLECT STATISTICS ใช้เพื่อรวบรวมข้อมูลประชากรของตาราง ตรวจสอบให้แน่ใจว่าสถิติที่รวบรวมในคอลัมน์เป็นข้อมูลล่าสุด
รวบรวมสถิติเกี่ยวกับคอลัมน์ที่ใช้ในส่วนคำสั่ง WHERE และคอลัมน์ที่ใช้ในเงื่อนไขการรวม
รวบรวมสถิติในคอลัมน์ดัชนีหลักที่ไม่ซ้ำกัน
รวบรวมสถิติในคอลัมน์ดัชนีรองที่ไม่ซ้ำกัน Optimizer จะตัดสินใจว่าสามารถใช้ NUSI หรือ Full Table Scan ได้หรือไม่
รวบรวมสถิติในดัชนีเข้าร่วมแม้ว่าจะมีการรวบรวมสถิติบนตารางฐาน
รวบรวมสถิติเกี่ยวกับคอลัมน์การแบ่งพาร์ติชัน
ประเภทข้อมูล
ตรวจสอบให้แน่ใจว่ามีการใช้ประเภทข้อมูลที่เหมาะสม วิธีนี้จะหลีกเลี่ยงการใช้พื้นที่เก็บข้อมูลมากเกินความจำเป็น
การแปลง
ตรวจสอบให้แน่ใจว่าชนิดข้อมูลของคอลัมน์ที่ใช้ในเงื่อนไขการรวมเข้ากันได้เพื่อหลีกเลี่ยงการแปลงข้อมูลที่โจ่งแจ้ง
จัดเรียง
ลบคำสั่ง ORDER BY ที่ไม่จำเป็นออกเว้นแต่จำเป็น
ปัญหาเกี่ยวกับ Spool Space
ข้อผิดพลาดของพื้นที่สปูลจะถูกสร้างขึ้นหากการค้นหาเกินขีด จำกัด พื้นที่สปูล AMP สำหรับผู้ใช้รายนั้น ตรวจสอบแผนการอธิบายและระบุขั้นตอนที่ใช้พื้นที่สปูลมากขึ้น แบบสอบถามระดับกลางเหล่านี้สามารถแยกและวางแยกกันเพื่อสร้างตารางชั่วคราว
ดัชนีหลัก
ตรวจสอบให้แน่ใจว่าดัชนีหลักถูกกำหนดไว้อย่างถูกต้องสำหรับตาราง คอลัมน์ดัชนีหลักควรกระจายข้อมูลอย่างเท่าเทียมกันและควรใช้บ่อยครั้งเพื่อเข้าถึงข้อมูล
ตาราง SET
หากคุณกำหนดตาราง SET ตัวเพิ่มประสิทธิภาพจะตรวจสอบว่าระเบียนนั้นซ้ำกันสำหรับแต่ละระเบียนหรือไม่ หากต้องการลบเงื่อนไขการตรวจสอบที่ซ้ำกันคุณสามารถกำหนดดัชนีรองเฉพาะสำหรับตารางได้
อัปเดตบนโต๊ะขนาดใหญ่
การอัปเดตตารางขนาดใหญ่จะใช้เวลานาน แทนที่จะอัปเดตตารางคุณสามารถลบระเบียนและแทรกระเบียนด้วยแถวที่แก้ไขได้
การวางตารางชั่วคราว
วางตารางชั่วคราว (ตารางการจัดเตรียม) และ volatiles หากไม่จำเป็นอีกต่อไป สิ่งนี้จะเพิ่มพื้นที่ว่างถาวรและพื้นที่สปูล
ตารางหลายชุด
หากคุณแน่ใจว่าระเบียนอินพุตจะไม่มีระเบียนที่ซ้ำกันคุณสามารถกำหนดตารางเป้าหมายเป็นตาราง MULTISET เพื่อหลีกเลี่ยงการตรวจสอบแถวที่ซ้ำกันซึ่งใช้โดยตาราง SET