Isi kandungan:
- Cache perpustakaan di Oracle 12c
- Cakera kamus di Oracle 12c
- Cache hasil pelayan di Oracle 12c
- Kolam terpelihara di Oracle 12c
- Paling tidak digunakan algoritma baru di Oracle 12c
Video: The Long Way Home / Heaven Is in the Sky / I Have Three Heads / Epitaph's Spoon River Anthology 2024
Sesetengah objek dan peranti dalam Oracle 12c sering digunakan. Oleh itu, masuk akal untuk mempersiapkan mereka setiap kali anda ingin melakukan operasi. Selain itu, data dalam kolam kongsi tidak pernah ditulis ke cakera.
Kolam dikongsi itu sendiri terdiri daripada empat bidang utama:
-
Cache cache
-
Cache kamus
-
Cache hasil pelayan
-
Reserved Pool
A cache adalah kawasan sementara dalam memori yang dibuat untuk mengambil maklumat pantas yang mungkin mengambil masa yang lebih lama untuk mendapatkan semula. Sebagai contoh, cache yang disebut dalam senarai terdahulu mengandungi maklumat yang dipertikaikan. Daripada pengguna yang perlu mengira nilai setiap kali, pengguna boleh mengakses maklumat dalam cache.
Cache perpustakaan di Oracle 12c
Cache perpustakaan sama seperti yang dipanggil: perpustakaan. Lebih khusus lagi, ia adalah perpustakaan pernyataan SQL sedia untuk pergi.
Setiap kali anda melaksanakan pernyataan SQL, banyak berlaku di latar belakang. Aktiviti latar belakang ini dipanggil parsing . Parsing boleh agak mahal dari segi pemprosesan kuasa.
Semasa parsing, beberapa perkara ini berlaku:
-
Sintaks pernyataan diperiksa untuk memastikan anda mengetik semuanya dengan betul.
-
Objek yang anda rujuk diperiksa. Sebagai contoh, jika anda cuba mengakses jadual yang dipanggil EMPLOYEE, Oracle memastikan ia wujud dalam pangkalan data.
-
Oracle memastikan bahawa anda mempunyai kebenaran untuk melakukan apa yang anda cuba lakukan.
-
Kod diubah menjadi format siap sedia pangkalan data. Format ini dipanggil byte-code atau p-code.
-
Oracle menentukan laluan atau pelan optimum. Ini adalah bahagian paling mahal.
Setiap kali anda melaksanakan pernyataan, maklumat itu disimpan dalam cache perpustakaan. Dengan cara itu, kali anda melaksanakan kenyataan tidak banyak yang perlu berlaku (seperti memeriksa kebenaran).
Cakera kamus di Oracle 12c
Cakera kamus juga sering digunakan untuk menguraikan apabila anda menjalankan SQL. Anda boleh memikirkannya sebagai koleksi maklumat mengenai anda dan objek pangkalan data. Ia boleh menyemak maklumat jenis latar belakang.
Cakera kamus juga ditadbir oleh peraturan Algoritma Kurang Digunakan Baru-baru Ini (LRU): Jika bukan ukuran yang tepat, maklumat boleh diusir. Tidak mempunyai ruang yang cukup untuk cache kamus boleh memberi kesan kepada penggunaan cakera.
Oleh kerana takrif objek dan maklumat berasaskan kebenaran disimpan dalam fail pangkalan data, Oracle harus membaca cakera untuk memuatkan maklumat tersebut ke dalam cache kamus. Ini lebih memakan masa daripada mendapatkannya dari cache memori.Bayangkan sistem dengan beribu-ribu pengguna yang sentiasa melaksanakan SQL … cache kamus yang tidak sesuai dengan ukuran benar-benar boleh menghalang prestasi.
Seperti cache perpustakaan, anda tidak dapat mengawal saiz cache kamus langsung. Oleh kerana saiz kolam dikongsi secara keseluruhannya berubah, begitu pula cache kamus.
Cache hasil pelayan di Oracle 12c
Cache hasil pelayan mempunyai dua bahagian:
-
cache hasil SQL: cache ini membolehkan Oracle melihat bahawa data yang diminta - yang diminta oleh pernyataan SQL yang baru dilaksanakan - mungkin disimpan dalam ingatan. Keadaan ini membolehkan Oracle melangkau bahagian eksekusi, pelaksanaan, kerana kekurangan istilah yang lebih baik, dan pergi terus ke set keputusan jika wujud.
Cache hasil SQL berfungsi dengan baik pada data yang relatif statik (seperti perihalan item pada tapak e-dagang).
Sekiranya anda bimbang tentang cache keputusan data yang tidak betul kembali? Tidak sama sekali. Oracle secara automatik membatalkan data yang disimpan dalam cache hasilnya jika mana-mana komponen asas diubah suai.
-
PL / SQL hasil cache: Capaian hasil PL / SQL menyimpan hasil perhitungan. Sebagai contoh, katakan anda mempunyai fungsi yang mengira nilai dolar berdasarkan kadar pertukaran Euro. Anda mungkin tidak mahu menyimpan nilai sebenar kerana ia sentiasa berubah.
Sebaliknya, anda mempunyai fungsi yang memanggil kadar harian atau setiap jam untuk menentukan nilai dolar. Dalam aplikasi kewangan, panggilan ini boleh berlaku ribuan kali sejam. Oleh itu, bukannya melaksanakan fungsi, ia pergi terus ke cache hasil PL / SQL untuk mendapatkan data antara kemas kini kadar. Sekiranya kadar berubah, Oracle akan menjalankan semula fungsi dan mengemas kini cache hasilnya.
Kolam terpelihara di Oracle 12c
Apabila Oracle perlu memperuntukkan sebahagian besar (lebih daripada 5 KB) memori bersambung dalam kolam kongsi, ia memperuntukkan memori di kolam terpelihara. Membekalkan kolam terpelihara untuk mengendalikan peruntukan memori yang besar meningkatkan prestasi dan mengurangkan pemecahan memori.
Paling tidak digunakan algoritma baru di Oracle 12c
Jika cache perpustakaan berada di ruang kosong, objek dibuang. Pernyataan yang paling banyak digunakan di cache perpustakaan adalah yang paling lama. Semakin sering mereka digunakan, semakin kurang peluang mereka diusir jika cache perpustakaan berada di ruang kosong.
Proses pengusiran cache perpustakaan adalah berdasarkan algoritma Paling Digunakan Baru-baru Ini (LRU). Jika meja anda berantakan, apa yang anda buat dahulu? Perkara yang anda gunakan paling sedikit.
Anda tidak boleh mengubah saiz cache perpustakaan itu sendiri. Saiz keseluruhan kolam berkongsi menentukannya. Jika anda fikir terlalu banyak kenyataan diusir, anda boleh meningkatkan saiz kolam berkongsi keseluruhan jika anda menyesuaikannya sendiri. Jika anda membiarkan Oracle melakukan penalaan, ia mengambil ingatan percuma dari tempat lain.