Oracle Temporary Table

Oracle Temporary Table Nedir, Nasıl Oluşturulur?

Temporary tablelar session bazlı veri saklamaya yarar, session sonlandığında tablo temizlenir.Aynı geçici tabloyu farklı sessionlar aynı anda kullansa bile birbirlerinin verilerine erişemezler, Geçici tablo verileri için Temp tablespace’inden yer ayrılır, veri burada saklanır.Geçici tablolar daha az redo üretir bu yüzden daha hızlı çalışırlar(nologging oluşturulduğundan), sorgu sonuçlarımızı geçici olarak saklamak için ideal yapılardır.

Temp Tablolar;

 -Session bazlıdır, session sonlandığında tablo içeriği temizlenir.
-Daha az redo, daha hızlı işlem.
-Temporary table üzerinde index,view  yaratabilirsiniz.
-Join sorgularında kullanabilirsiniz.
-Geçici tablolara partition yapılamamaktadır.

1.ON COMMIT PRESERVE ROWS:

Session sonlanana kadar veriyi temporary tableda saklar.
Create global temporary table my_temp_table1
(emp_no number,emp_name varchar2(100))
ON COMMIT PRESERVE ROWS;

2. ON COMMIT DELETE ROWS:

Transaction sonlanıncaya kadar veriyi saklar.yani commit ya da rollback gelinceye kadar veriyi saklar,DDL komutları  oto commit olduğu için DDL komutları da çalıştırsanız otomatik olarak commit yapmış olursunuz ve temporary tabledan veriler silinir.

Create global temporary table my_temp_table2
(emp_no number,
 emp_name varchar2(100)
)ON COMMIT DELETE ROWS;

* Eğer temporary table create ederken belirtmezseniz  varsayılan olarak ON COMMIT DELETE ROWS yaratılır. Normal tablolar için yazacağınız DML komutları  geçici tablolar için de geçerlidir.

Tagged: , , , , ,

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir