Daftar Isi:
- Cache perpustakaan di Oracle 12c
- Cache kamus di Oracle 12c
- Cache hasil server di Oracle 12c
- Kolam yang dicadangkan di Oracle 12c
- Sedikitnya algoritma yang baru-baru ini digunakan di Oracle 12c
Video: Bicycle & Sketch Tour - Namibia, Africa 2024
Benda dan perangkat tertentu di Oracle 12c sering digunakan. Oleh karena itu, masuk akal jika mereka siap setiap kali Anda ingin melakukan operasi. Selanjutnya, data di kolam bersama tidak pernah ditulis ke disk.
Kolam renang bersama itu sendiri terdiri dari empat area utama:
-
Cache perpustakaan
-
cache Kamus
-
cache Hasil Server
-
Kolam Reserved
A cache adalah area sementara di memori yang dibuat untuk mendapatkan informasi singkat yang mungkin akan memakan waktu lebih lama untuk diambil. Misalnya, cache yang disebutkan dalam daftar sebelumnya mengandung informasi precomputed. Alih-alih pengguna harus menghitung nilai setiap saat, pengguna dapat mengakses informasi dalam cache.
Cache perpustakaan di Oracle 12c
Cache perpustakaan sama seperti yang disebutnya: sebuah perpustakaan. Lebih khusus lagi, ini adalah perpustakaan pernyataan SQL siap pakai.
Setiap kali Anda menjalankan pernyataan SQL, banyak terjadi di latar belakang. Aktivitas latar belakang ini disebut parsing . Parsing bisa sangat mahal dalam hal kekuatan pemrosesan.
Selama penguraian, beberapa hal ini terjadi:
-
Sintaks pernyataan diperiksa untuk memastikan Anda mengetik semuanya dengan benar.
-
Benda yang Anda maksud diperiksa. Misalnya, jika Anda mencoba mengakses tabel yang disebut EMPLOYEE, Oracle memastikannya ada di database.
-
Oracle memastikan bahwa Anda memiliki izin untuk melakukan apa yang ingin Anda lakukan.
-
Kode diubah menjadi format database-ready. Formatnya disebut kode kode byte-code atau .
-
Oracle menentukan jalur atau rencana optimal. Ini adalah bagian yang paling mahal.
Setiap kali Anda mengeksekusi sebuah pernyataan, informasinya tersimpan di cache perpustakaan. Dengan begitu, pada saat Anda mengeksekusi pernyataan tidak banyak yang harus terjadi (seperti memeriksa izin).
Cache kamus di Oracle 12c
Cache kamus juga sering digunakan untuk penguraian saat Anda menjalankan SQL. Anda bisa menganggapnya sebagai kumpulan informasi tentang Anda dan objek database. Ini bisa memeriksa informasi tipe latar belakang.
Cache kamus juga diatur oleh aturan algoritma Sedikitnya Baru Digunakan (LRU): Jika bukan ukuran yang tepat, informasi dapat digusur. Tidak memiliki cukup ruang untuk kamus cache dapat mempengaruhi penggunaan disk.
Karena definisi objek dan informasi berbasis izin tersimpan dalam file database, Oracle harus membaca disk untuk memuat ulang informasi tersebut ke dalam cache kamus. Ini lebih memakan waktu daripada mendapatkannya dari cache memori.Bayangkan sebuah sistem dengan ribuan pengguna terus-menerus menjalankan SQL … cache kamus berukuran tidak benar benar-benar dapat menghambat kinerja.
Seperti cache perpustakaan, Anda tidak dapat mengontrol ukuran cache kamus secara langsung. Seiring perubahan ukuran kolam bersama secara keseluruhan, demikian juga kamus cache.
Cache hasil server di Oracle 12c
Cache hasil server memiliki dua bagian:
-
cache hasil SQL: Cache ini memungkinkan Oracle melihat data yang diminta - diminta oleh pernyataan SQL yang baru dieksekusi - mungkin disimpan di memori Situasi ini memungkinkan Oracle melewatkan bagian eksekusi, er, eksekusi, karena tidak memiliki istilah yang lebih baik, dan langsung menuju hasil yang ditentukan jika ada.
Hasil cache SQL bekerja paling baik pada data yang relatif statis (seperti deskripsi item pada situs e-niaga).
Jika Anda khawatir dengan hasil tembolok mengembalikan data yang salah? Tidak semuanya. Oracle secara otomatis membatalkan data yang tersimpan dalam cache hasil jika salah satu komponen yang mendasarinya dimodifikasi.
-
PL / SQL function result cache: Hasil fungsi PL / SQL cache menyimpan hasil perhitungan. Misalnya, katakanlah Anda memiliki fungsi yang menghitung nilai dolar berdasarkan nilai tukar Euro. Anda mungkin tidak ingin menyimpan nilai sebenarnya karena selalu berubah.
Sebagai gantinya, Anda memiliki fungsi yang memanggil tarif harian atau per jam untuk menentukan nilai dolar. Dalam aplikasi keuangan, panggilan ini bisa terjadi ribuan kali dalam satu jam. Oleh karena itu, alih-alih menjalankan fungsi, ia langsung menuju ke hasil PL / SQL cache untuk mendapatkan data antara update rate. Jika tingkatnya berubah, Oracle kembali menjalankan fungsi dan memperbarui hasil cache.
Kolam yang dicadangkan di Oracle 12c
Saat Oracle perlu mengalokasikan potongan besar (lebih dari 5 KB) memori bersebelahan di kolam bersama, ia mengalokasikan memori di kolam renang yang dicadangkan. Mendedikasikan kolam yang dicadangkan untuk menangani alokasi memori yang besar akan meningkatkan kinerja dan mengurangi fragmentasi memori.
Sedikitnya algoritma yang baru-baru ini digunakan di Oracle 12c
Jika cache perpustakaan kekurangan ruang, benda dilempar keluar. Pernyataan yang paling banyak digunakan dalam cache perpustakaan terpanjang. Semakin sering mereka digunakan, semakin kecil kemungkinan mereka diusir jika cache perpustakaan kekurangan ruang.
Proses penggusuran cache perpustakaan didasarkan pada apa yang disebut algoritma Sedikitnya Baru Digunakan (LRU). Jika meja Anda berantakan, apa yang Anda simpan dulu? Hal-hal yang paling Anda gunakan.
Anda tidak dapat mengubah ukuran cache perpustakaan sendiri. Ukuran keseluruhan kolam bersama menentukan hal itu. Jika Anda berpikir terlalu banyak pernyataan sedang digusur, Anda dapat meningkatkan ukuran kolam bersama secara keseluruhan jika Anda menyetelnya sendiri. Jika Anda membiarkan Oracle melakukan tuning, itu akan membebaskan memori dari tempat lain.