จัดการบล็อคการเริ่มต้น

เมื่อคุณใช้เกตเวย์ข้อมูลหรือตัวเชื่อมต่อข้อมูลระยะไกลกับ Oracle Analytics Cloud จะมีค่าใช้จ่ายดำเนินการเล็กน้อยเกิดขึ้นในระยะเวลาของการรันการสืบค้นแต่ละครั้ง

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

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

นี่เป็นปัญหา หากคุณใช้ Oracle BI Applications, เนื่องจากจะรันบล็อคการเริ่มต้นมากกว่า 200 บล็อค สำหรับ Oracle Analytics Cloud วิธีที่ดีที่สุดในการหลีกเลี่ยงปัญหาด้านประสิทธิภาพเหล่านี้ คือ การลดจำนวนบล็อคการเริ่มต้น

Oracle แนะนำวิธีการต่อไปนี้เพื่อลดจำนวนบล็อคการเริ่มต้นเซสชัน

  • เลิกใช้บล็อคการเริ่มต้นทั้งหมดที่คุณไม่ต้องการใช้

    ตัวอย่างเช่น ใน Oracle BI Applications ให้เลิกใช้บล็อคการเริ่มต้นที่อ้างอิงถึงโมดูล Oracle BI Applications ที่คุณไม่ได้ใช้อีก

  • ยกเว้นเมื่อมีกฎลำดับความสำคัญ ให้รวมบล็อคการเริ่มต้น row_wise ทั้งหมดที่ใช้พูลการเชื่อมต่อเดียวกัน และส่งคืนประเภทข้อมูลเดียวกัน โดยใช้ UNION ALL ระหว่างการสืบค้นต่างๆ

    ตัวอย่างเช่น

    Init block 1: query1
    
    Init block 2: query2
    
    Merged init block: query1 union all query2
  • เลิกใช้บล็อคการเริ่มต้นทั้งหมดที่เลือกค่าฮาร์ดโค้ดจาก dual หรือ W_DUAL_G และวางค่าฮาร์ดโค้ดในตัวเริ่มต้นดีฟอลต์ของตัวแปรที่เกี่ยวข้อง
  • รวมบล็อคการเริ่มต้นที่เหลืออยู่ ซึ่งเลือกข้อมูลจาก dual ไว้ในคำสั่ง select เดียว
  • สำหรับลูกค้า Oracle BI Applications ให้เลิกใช้บล็อคการเริ่มต้นทั้งหมดที่ใช้เรียกข้อมูลชื่อและค่าแอททริบิวที่กำหนดเองของ Oracle Human Capital Management หากไม่ได้ใช้แอททริบิวที่เกี่ยวข้อง (หากค่าดีฟอลต์มาตรฐาน HIDE เป็นค่าปัจจุบันสำหรับตัวแปรเหล่านี้) หรือหากคุณไม่ใช้ Oracle Human Capital Management เป็นที่มาข้อมูลของ Oracle BI Applications (มีบล็อคการเริ่มต้น 100 บล็อคเป็นเช่นนั้นใน Oracle BI Applications):
    HR xxx Attribute yyy
  • รวมบล็อคการเริ่มต้นที่เหลืออยู่ทั้งหมดที่ไม่ใช่ row_wise ข้าด้วยกัน และใช้พูลการเชื่อมต่อเดียวกัน ตัวอย่างเช่น

    บล็อคการเริ่มต้น 1 ขึ้นอยู่กับ query1: select colA from tableA where….

    บล็อคการเริ่มต้น 2 ขึ้นอยู่กับ query2: select colB from tableB where….

    คุณสามารถรวมบล็อคเหล่านั้นไว้ในบล็อคการเริ่มต้นเดียวโดยใช้การสืบค้น เช่น

    Select MAX(colA), MAX(colB) from (
    
    select cola as cola, null as colB from tableA where….
    
    Union all
    
    Select null, colB from tableB where…) tmp

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

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

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