Takip et

Oracle SQL’de İsteğe Bağlı Yenileme | Maddeleştirilmiş Görünümler (Mviews)

Oracle SQL’de İsteğe Bağlı Yenileme | Maddeleştirilmiş Görünümler (Mviews)

Oracle SQL’de Maddeleştirilmiş Görünümler (Mviews), karmaşık sorguların sonuçlarını önbelleğe alarak performansı iyileştirmek için kullanılır. Bu görünümler, temel tablolardaki değişikliklere göre otomatik olarak yenilenir. Ancak, bazı durumlarda bu otomatik yenileme istenmeyebilir veya sık sık yenileme gerekebilir. İşte, Oracle SQL’de Maddeleştirilmiş Görünümlerin isteğe bağlı yenilenmesi hakkında bilmeniz gerekenler.

Maddeleştirilmiş Görünümlerin Avantajları

Maddeleştirilmiş görünümler, performans iyileştirme için kullanıldığında birçok fayda sunar:

  • Daha hızlı sorgu yürütme: Maddeleştirilmiş görünümler önbelleğe alınmış verileri kullanarak karmaşık sorguları daha hızlı işler.
  • Düşük kaynak kullanımı: Önbelleğe alınmış veriler, temel tabloları doğrudan sorgulamanın neden olduğu kaynak kullanımını azaltır.
  • Daha iyi ölçeklenebilirlik: Maddeleştirilmiş görünümler, büyük miktarda verinin sorgulanması gereken uygulamalar için daha iyi ölçeklenebilirlik sağlar.

İsteğe Bağlı Yenileme

Maddeleştirilmiş görünümler, temel tablolar değiştiğinde otomatik olarak yenilenir. Ancak, bu otomatik yenileme her zaman istenmeyebilir. Örneğin, bazı senaryolarda, Maddeleştirilmiş Görünümün yalnızca belirli zamanlarda veya belirli koşullar altında yenilenmesi gerekebilir.

Oracle SQL, bu ihtiyaçları karşılamak için Maddeleştirilmiş Görünümlerin isteğe bağlı olarak yenilenmesini sağlar. Bu, çeşitli yöntemlerle elde edilebilir:

1. El İle Yenileme

Maddeleştirilmiş görünümler, DBMS_MVIEW.REFRESH paketini kullanarak manuel olarak yenilenebilir. Bu, Maddeleştirilmiş Görünümün güncel olduğundan emin olmak için uygun olduğunda gerçekleştirilebilen bir işlemdir.

İşte, DBMS_MVIEW.REFRESH paketini kullanarak Maddeleştirilmiş Görünümü el ile yenilemek için kullanılan SQL kodu:


BEGIN
DBMS_MVIEW.REFRESH('MVIEW_ADI', 'C');
END;
/

Yukarıdaki kod, MVIEW_ADI adlı Maddeleştirilmiş Görünümü “C” parametresiyle yeniler. “C” parametresi, Maddeleştirilmiş Görünümü tamamen yenilemek anlamına gelir.

2. Zamanlanmış Yenileme

Maddeleştirilmiş görünümler, belirli bir zaman aralığında otomatik olarak yenilenmek üzere zamanlanabilir. Bu, Maddeleştirilmiş Görünümün düzenli olarak güncellenmesi gereken durumlarda yararlı olabilir. Zamanlanmış yenileme, DBMS_SCHEDULER paketini kullanarak gerçekleştirilebilir.

İşte, Maddeleştirilmiş Görünümü zamanlamak için kullanılan SQL kodu:


BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'MVIEW_YENI_IS',
job_type => 'PL/SQL_BLOCK',
job_action => 'BEGIN DBMS_MVIEW.REFRESH(''MVIEW_ADI'', ''C''); END;',
start_date => SYSDATE,
repeat_interval => 'FREQ=DAILY; BYHOUR=00; BYMINUTE=00',
enabled => TRUE
);
END;
/

Yukarıdaki kod, MVIEW_ADI adlı Maddeleştirilmiş Görünümü her gün saat 00:00’da yenileyecek bir iş oluşturur.

3. Tetikleyici Tablosu

Maddeleştirilmiş görünümler, belirli bir tabloda yapılan değişiklikleri izleyen bir tetikleyici tabloya göre de yenilenebilir. Bu yöntem, Maddeleştirilmiş Görünümün yalnızca ilgili tablodaki değişikliklere göre yenilenmesi gereken durumlarda yararlı olabilir.

İşte, tetikleyici tablo kullanılarak Maddeleştirilmiş Görünümün yenilenmesi için bir örnek:


CREATE TABLE TEG_TABLO (
TEG_ID NUMBER PRIMARY KEY
);

CREATE MATERIALIZED VIEW MVIEW_ADI
REFRESH FAST ON COMMIT
ENABLE QUERY REWRITE
AS
SELECT * FROM TEG_TABLO;

CREATE TRIGGER TRG_MVIEW_YENI
AFTER INSERT OR UPDATE OR DELETE ON TEG_TABLO
BEGIN
DBMS_MVIEW.REFRESH('MVIEW_ADI', 'C');
END;
/

Yukarıdaki kodda, TEG_TABLO tablosuna yapılan her değişiklik, MVIEW_ADI Maddeleştirilmiş Görünümünü yenileyecek bir tetikleyici oluşturur.

Sonuç

Maddeleştirilmiş görünümler, Oracle SQL’de performansı iyileştirmek için güçlü bir araçtır. İsteğe bağlı yenileme özelliği, Maddeleştirilmiş Görünümlerin kullanımı için daha fazla esneklik sağlar. İsteğe bağlı yenileme, Maddeleştirilmiş Görünümlerin otomatik olarak yenilenmesini istemediğiniz veya yalnızca belirli zamanlarda veya koşullar altında güncellenmesini istediğiniz durumlarda kullanılabilir.

Ek Bilgiler

Maddeleştirilmiş görünümler hakkında daha fazla bilgi edinmek için aşağıdaki kaynakları ziyaret edebilirsiniz:

#Etiketler: Oracle SQL, Maddeleştirilmiş Görünümler, Mviews, İsteğe Bağlı Yenileme, Performans, Veri Tabanı, Önbelleğe Alma

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.