Başlatma Bloklarını Güncelleme

Veri Ağ Geçidini veya Uzak Veri Bağlayıcıyı Oracle Analitik Bulutu ile kullandığınızda, her sorgu yürütme süresinde küçük bir artış olur.

Bir raporu çalıştırdığınızda 0,3 saniyeden kısa olduğundan ek süreyi fark etmezsiniz. Ancak başlatma bloğu sorguları seri olarak yürütüldüğünden, bir kullanıcı oturum açtığında çok sayıda (sayı performans gereksinimlerinize bağlıdır) başlatma bloğu çalıştırırsanız performans sorunlarıyla karşılaşabilirsiniz. Bu konu, oturum başlatma bloklarının sayısını azaltmanın yollarını içerir.

Başlatma blokları ilk kumanda tablosu sayfasını açtığınızda yürütüldüğünden, başlatma blokları için ertelenmiş seçeneğinin kullanılması bu sorunu çözmez.

Oracle İş Zekası Uygulamaları kullanıyorsanız bu sorun yaratır çünkü 200'ün üzerinde başlatma bloğu çalıştırır. Oracle Analitik Bulutu için bu performans sorunlarından kaçınmanın en iyi yolu başlatma bloklarının sayısını azaltmaktır.

Oracle, oturum başlatma bloklarının sayısını azaltmak için aşağıdaki yolları önerir:

  • İhtiyacınız olmayan tüm başlatma bloklarını devre dışı bırakın.

    Örneğin, Oracle İş Zekası Uygulamaları'nda, artık kullanmadığınız Oracle İş Zekası Uygulamaları modüllerine referans veren başlatma bloklarını devre dışı bırakın.

  • Öncelik kuralının olduğu durumlar haricinde, aynı bağlantı havuzunu kullanan tüm row_wise başlatma bloklarını birleştirin ve sorguları arasında UNION ALL kullanarak aynı veri tipini döndürün.

    Örneğin:

    Init block 1: query1
    
    Init block 2: query2
    
    Merged init block: query1 union all query2
  • dual veya W_DUAL_G arasından sabit kodlu bir değer seçen tüm başlatma bloklarını devre dışı bırakın ve sabit kodlu değeri ilgili değişkenin başlatıcı öndeğerine yerleştirin.
  • Dual'dan veri seçen kalan başlatma bloklarını tek bir select komutunda birleştirin.
  • Oracle İş Zekası Uygulamaları müşterisiyseniz, ilgili özniteliğin kullanılmaması durumunda Oracle İnsan Sermayesi Yönetimi özel özniteliklerinin adını ve değerlerini almak için kullanılan tüm başlatma bloklarını devre dışı bırakın (standart öndeğer olan HIDE bu değişkenler için geçerli değer ise) veya Oracle İnsan Sermayesi Yönetimi'ni Oracle İş Zekası Uygulamaları veri kaynağı olarak kullanmıyorsanız (Oracle İş Zekası Uygulamalarında bunun gibi 100 adet başlatma bloğu vardır):
    HR xxx Attribute yyy
  • row_wise olmayan kalan tüm başlatma bloklarını birleştirin ve aynı bağlantı havuzunu kullanın. Örneğin:

    Query1'i temel alan başlatma bloğu 1: select colA from tableA where….

    Query2'yi temel alan başlatma bloğu 2: select colB from tableB where….

    Aşağıdaki gibi bir sorgu kullanarak bunları tek bir başlatma bloğunda birleştirebilirsiniz:

    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

    Tek sorguda aynı bağlantı havuzundan tüm değişkenleri almak için gerektiği kadar birleştirme yapabilirsiniz.

    Bunun uygulanması veya güncellenmesi kolay değildir ve sorguları oluşturup tüm değişkenleri tek başlatma bloğuna atadığınızda hata yapma riskiyle karşı karşıya kalırsınız.

Başlatma bloğu sorgularınızı ve değişkenlerinizi dikkatli bir şekilde uygular ve güncellerseniz, oturum açmak ve ilk kumanda tablosu sayfasını görüntülemek için gereken süreyi büyük ölçüde azaltabilirsiniz.