ออปติไมซ์ลูกบาศก์สำหรับ โหมดไฮบริด

ในการใช้ โหมดไฮบริด อย่างมีประสิทธิภาพสูงสุด ให้ทำดังนี้

  • หลีกเลี่ยงการใช้การคำนวณสองชั้นในโหมดไฮบริด ใช้ ลำดับการแปลค่า แทน

  • แปลงสมาชิกที่จัดเก็บที่ไม่ใช่ระดับ 0 เป็นการคำนวณแบบไดนามิคเมื่อสามารถทำได้

  • หากการแปลงเป็นสมาชิกการคำนวณแบบไดนามิคมีผลต่อลำดับการแปลค่าสำหรับสูตรอ้างอิง คุณอาจต้องปรับลำดับไดเมนชันของเอาต์ไลน์เพื่อจัดแนวลำดับการแปลค่ากับการตั้งค่าลำดับการคำนวณแบทช์ก่อนหน้าและการคำนวณสองชั้น

    ลำดับการแปลค่าดีฟอลต์สำหรับลูกบาศก์ของ โหมดไฮบริด จะคล้ายกับลำดับการคำนวณของลูกบาศก์ของพื้นที่เก็บข้อมูลบล็อคที่มีการปรับปรุงบางอย่าง หากคุณต้องการใช้ลำดับการแปลค่าที่ไม่ใช่ค่าดีฟอลต์ คุณสามารถตั้งค่าลำดับการแปลค่าที่กำหนดเองสำหรับไดเมนชันและสมาชิก

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

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

  • คุณอาจต้องปรับคอนฟิเกอเรชันความหนาแน่นหรือสปาร์ซของไดเมนชัน (ใช้เฉพาะกับการใช้เอ็นจินพื้นที่เก็บข้อมูลบล็อคในกรณีที่ไม่สามารถใช้เอ็นจินแบบไฮบริด)

  • ลดขนาดของบล็อค หากทำได้

ผู้ดูแลระบบ Essbase สามารถใช้เครื่องมือต่างๆ เพื่อตรวจสอบและออปติไมซ์ประสิทธิภาพของการสืบค้นในโหมดไฮบริด ได้ดังต่อไปนี้:

  • ในการจำกัดจำนวนหน่วยความจำที่การสืบค้นแต่ละรายการอาจต้องใช้ ให้ใช้การตั้งค่าคอนฟิเกอเรชัน MAXFORMULACACHESIZE

  • หากลูกบาศก์ของคุณมีสูตรของสมาชิกที่ซับซ้อน พร้อมด้วยโอเปอเรเตอร์แบบข้ามไดเมนชันและคำสั่ง IF/ELSE จำนวนมาก ปัญหาด้านประสิทธิภาพอาจเกี่ยวข้องกับการรันสูตร หากมีข้อสงสัย คุณสามารถเปิดใช้งานการประมวลผลการสืบค้นจากล่างขึ้นบนสำหรับการคำนวณสูตรได้ ขั้นตอนนี้จะเพิ่มประสิทธิภาพให้กับเวลาในการสืบค้นโดยระบุจุดที่ตัดกันที่จำเป็นสำหรับการคำนวณ ซึ่งช่วยกำหนดเวลาในการสืบค้นตามสัดส่วนของขนาดข้อมูลอินพุต

    หากต้องการเพิ่มประสิทธิภาพในการสืบค้นเหล่านี้สำหรับรีลีส 21C ให้ใช้การตั้งค่าคอนฟิเกอเรชัน QUERYBOTTOMUP ตลอดจนฟังก์ชันการคำนวณ @QUERYBOTTOMUP สำหรับรีลีส 19C ใช้การตั้งค่าคอนฟิเกอเรชัน IGNORECONSTANTS ที่มีรูปแบบคำสั่ง BOTTOMUP ตลอดจนฟังก์ชันการคำนวณ @NONEMPTYTUPLE

  • ใช้การติดตามการสืบค้นเพื่อตรวจสอบและดีบักประสิทธิภาพของการสืบค้น โดยคุณสามารถใช้การตั้งค่าคอนฟิเกอเรชันระดับแอปพลิเคชันต่างๆ ได้ ทั้งนี้ขึ้นอยู่กับกรณีการใช้งานของคุณ ใช้ QUERYTRACE เป็นระยะเวลาสั้นๆ เพื่อดีบักการสืบค้นแต่ละรายการที่คุณคาดว่าอาจเป็นปัญหา ใช้ TRACE_REPORT เพื่อการเก็บข้อมูลทางสถิติเกี่ยวกับการรันการสืบค้นพร้อมๆ กัน (เหมาะสำหรับการดีบักในสภาวะแวดล้อมการพัฒนา) ใช้ LONGQUERYTIMETHRESHOLD ในสภาวะแวดล้อมการใช้งานจริง เพื่อพิมพ์ข้อมูลสถิติเป็นล็อกไฟล์ของแอปพลิเคชันเกี่ยวกับการสืบค้นต่างๆ ที่รันนานกว่าเวลาที่ตั้งค่าไว้