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:
Ö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.
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.select
komutunda birleştirin.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.