Proses IMCO(Inmemory Coordinator) membangunkan setiap dua menit dan memeriksa untuk melihat apakah ada tugas kependudukan yang perlu diselesaikan. Jadi, membuat kueri tabel segera setelah mengaktifkannya untuk memori tidak memastikan kueri dilayani dari memori.
Objek diisi ke dalam penyimpanan kolom IM baik dalam daftar yang diprioritaskan segera setelah database dibuka atau setelah tabel dipindai (dikueri) untuk pertama kalinya.
Misalnya, jika kita mengaktifkan tabel tab1, tab2, tab3 untuk memori:
alter table tab1 inmemory priority medium;
alter table tab3 inmemory priority high;
alter table tab2 inmemory priority critical;
Tabel-tabel ini masuk ke memori ketika:
- Proses IMCO mengambil tabel-tabel ini dan memuatnya ke dalam area memori (dalam urutan prioritas tertinggi ke terendah:tab2, tab3 dan tab1)
- Jika kita melakukan kueri pemilihan pada salah satu tabel (contoh:
select * from tab1
) sebelum proses IMCO dimulai (setiap 2 menit)
Untuk mengetahui apakah tabel/partisi dimuat sepenuhnya ke dalam memori, Anda dapat menanyakan v$im_segments
tampilan seperti berikut:
select owner, segment_name, partition_name, segment_type, bytes,
bytes_not_populated, populate_status from v$im_segments;
Jadi, untuk menjawab pertanyaan Anda:
- Pastikan tabel dimuat ke dalam memori dengan menanyakan
v$im_segments
- Jika tabel tidak dimuat, lakukan kueri pemilihan untuk membuatnya dimuat ke dalam area memori
- Dapatkan paket kueri untuk kueri pemilihan di atas meja, itu harus menampilkan INMEMORY sebagai bagian dari paket
Periksa buku putih untuk lebih jelasnya.