Saya berasumsi kita sedang berbicara tentang GLOBAL TEMPORARY tabel.
Bayangkan tabel sementara sebagai beberapa tabel yang dibuat dan dijatuhkan oleh setiap proses dengan cepat dari template yang disimpan dalam kamus sistem .
Di Oracle , DML dari temporary table mempengaruhi semua proses, sedangkan data yang terdapat dalam tabel hanya akan mempengaruhi satu proses yang menggunakannya.
Data dalam temporary table hanya terlihat di dalam lingkup sesi. Ini menggunakan TEMPORARY TABLESPACE untuk menyimpan data dan kemungkinan indeks.
DML untuk temporary table (yaitu tata letaknya, termasuk nama kolom dan indeks) dapat dilihat oleh semua orang dengan hak istimewa yang memadai.
Ini berarti bahwa eksistensi indeks akan mempengaruhi proses Anda serta proses lain yang menggunakan tabel dalam arti bahwa setiap proses yang mengubah data di temporary table juga harus mengubah indeks.
Data terkandung dalam tabel (dan dalam indeks juga), sebaliknya, hanya akan mempengaruhi proses yang membuatnya, dan bahkan tidak akan terlihat oleh proses lain.
JIKA Anda ingin satu proses menggunakan indeks dan yang lain tidak menggunakannya, lakukan hal berikut:
- Buat dua
temporary tabledengan tata letak kolom yang sama - Indeks salah satunya
- Gunakan tabel yang diindeks atau tidak diindeks tergantung pada prosesnya