Anasayfa » Oracle Cube Rollup Kavramları

Makaleyi Paylaş

Oracle

Oracle Cube Rollup Kavramları

Oracle’ın gruplama konusunda ki yeteneklerinin hepimiz farkındayız. Bu makalemizde olap uygulaması kurmadan da verileri nasıl istatistiksel olarak görebiliriz bunları inceleyeceğiz. Bu amaçla Rollup ve Cube deyimlerini inceleyeceğiz.

Rollup sql ifademizde kullandığımız sütun sayısı kadar gruplama yapar. Kullandığımız kolonları sağdan sola doğru gruplar ve her grubun altına özet satırı oluşturur.

Cube ise kullandığımız sütunların tüm kombinasyonları kadar özet oluşturur.

Şimdi kısaca bunların kullanımına bakalım.

Sponsor

 

Rollup;

 

Genel olarak syntax’ı şu şekildedir.

 

SELECT [column,] group_function(column). . .

FROM table

[WHERE condition]

[GROUP BY [ROLLUP] group_by_expression]

[HAVING having_expression];

[ORDER BY column];

 

Aşağıdaki sql cümlemizde kullandığımız tüm kolonlar kadar gruplama yaptık. Department_id si 30 olan kişilerin toplamlarını aldık ve bunların sayısını belirttik.

 

 

image001

 

 

image002

 

 

Explain Planda oluşan costu ve adımları yukardaki şekilden görebiliriz.

 

Cube;

 

Genel syntax’ı şu şekildedir.

SELECT [column,] group_function(column)…
FROM table
[WHERE condition]
[GROUP BY [CUBE] group_by_expression]
[HAVING having_expression]
[ORDER BY column];

 

Buradaki cube ifadesi tüm kolonlar için çaprazlama yaptığından her bir değer için sonuç oluşturmuştur.

 

 

image003

 

 

Aynı kodu cube fonksiyonuyla yazdığımızda extra adımların geldiğini görüyoruz. Cube fonksiyonun tüm kolonlar için kombinasyonları oluşturdugundan datası fazla olan tablolar için nasıl extra işlem hacmi getirdiğini görmüş olduk.

 

 

image004

 

 

Bir sonraki yazımızda dwh ortamlarında test veya development yaparken başka hangi tip gruplama fonksiyonlarını kullanabileceğimizi inceleyeceğiz.

Makaleyi Paylaş

Cevap bırakın