Rumah pangkalan data tutorial mysql dbms_xplan.display_awr方式获取执行计划的实验和之前的误导

dbms_xplan.display_awr方式获取执行计划的实验和之前的误导

Jun 07, 2016 pm 04:06 PM
dbms Cara dapatkan

《查看Oracle执行计划的几种常用方法-系列1》(http://blog.csdn.net/bisal/article/details/38919181)这篇博文中曾提到一个隐藏问题: “ 隐藏问题2: 实验这部分内容发现使用select * from table(dbms_xplan.display_awr('sql_id'));并没有结果,@黄玮老师

《查看Oracle执行计划的几种常用方法-系列1》(http://blog.csdn.net/bisal/article/details/38919181)这篇博文中曾提到一个隐藏问题:

隐藏问题2:

实验这部分内容发现使用select * from table(dbms_xplan.display_awr('sql_id'));并没有结果,@黄玮老师说有可能是AWR收集的是top的SQL,有可能测试用的SQL不是most intensive SQL,但我是用alter system flush shared_pool后执行的手工采集快照,还是未被AWR抓到,比较奇怪的问题,这个也会在另一篇博文中仔细说明。

背景是:

“select * from table(dbms_xplan.display_awr('sql_id'));

(1)是使用explain plan for +SQL作为前提,(2)和(3)的前提则是SQL的执行计划还在共享池中,具体讲是在库缓存中。如果已经被age out交换出共享池,则不能用这两种方法了。若该SQL的执行计划被采集到AWR库中,则可以用(4)上述SQL来查询历史执行计划。”

即使用这条SQL可以查看AWR库中保存的执行计划。但我尝试用dual表做实验,发现并没有被AWR库保存他的执行计划(http://www.itpub.net/forum.php?mod=viewthread&tid=1886046&extra=)。

实验

1. 创建测试表

\

2. 查询Shared Pool中是否已经缓存了select count(*) from awr_tbl的执行计划

\

3. 喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjxzdHJvbmc+yta5pMrVvK9BV1KxqLjmo6zH5b/VU2hhcmVkPC9zdHJvbmc+PHN0cm9uZz4gUDwvc3Ryb25nPjxzdHJvbmc+b29su7qz5bPYPC9zdHJvbmc+o7o8L3A+CjxwPjxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20141029/201410290914225.png" alt="\">

看到缓冲区被清空了,刚才可以从v$sqlarea中查询的SQL信息已经删除了。

4. 使用上面提到的“select * from table(dbms_xplan.display_awr("sql_id'));”看看AWR中保存的SQL信息

\

对于@dbsnake说的dbms_xplan.display_awr("sql_id')和dbms_xplan.display_cursor的区别是不能显示谓词信息,是因为从V$SQL_PLAN导入AWR基表WRH$_SQL_PLAN时未将谓词字段access_predicates和filter_predicates导入,也做了一个实验:

\

select count(*) from sys_awr where object_name="SYS_AWR';语句,在V$SQL_PLAN中存在谓词信息:“OBJECT_NAME=”='SYS_AWR',但从WRH$_SQL_PLAN中看这两个字段是空的:\

总结

(1) select * from table(dbms_xplan.display);

(2) select * from table(dbms_xplan.display_cursor(null, null, "advanced'));

(3) select * from table(dbms_xplan.display_cursor('sql_id/hash_value', child_cursor_number, 'advanced'));

(4) select * from table(dbms_xplan.display_awr('sql_id'));

以上是使用dbms包查看执行计划的四种方法,其中:

(1)需要配合explain plan使用。

(2)、(3)需要SQL仍在Shared Pool中。

(4)需要AWR库保存该SQL信息。另外,不会显示谓词信息。

针对不同的场景选择不同的读取执行计划的方法即可。

实验过程中我曾用select * from dual作为测试SQL,但未得到如上结果,经@黄玮大师点播,认为可能是对于DUAL表的操作Oracle内部不是像正常表检索的方式来执行的,有机会可以探究。(http://www.itpub.net/forum.php?mod=viewthread&tid=1886046&extra=)

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mendapatkan sambungan fail dalam Python? Bagaimana untuk mendapatkan sambungan fail dalam Python? Sep 08, 2023 pm 01:53 PM

Sambungan fail dalam Python ialah akhiran yang dilampirkan pada penghujung nama fail untuk menunjukkan format atau jenis fail. Ia biasanya terdiri daripada tiga atau empat aksara, nama fail diikuti dengan noktah, seperti ".txt" atau ".py". Sistem pengendalian dan program menggunakan sambungan fail untuk menentukan jenis fail itu dan cara ia harus diproses. Diiktiraf sebagai fail teks biasa. Sambungan fail dalam Python adalah penting semasa membaca atau menulis fail kerana ia menetapkan format fail dan cara terbaik untuk membaca dan menulis data. Sebagai contoh, sambungan fail ".csv" ialah sambungan yang digunakan semasa membaca fail CSV dan modul csv digunakan untuk memproses fail. Algoritma untuk mendapatkan sambungan fail dalam Python Manipulasi rentetan nama fail dalam Python.

Gunakan fungsi math.Max ​​untuk mendapatkan nilai maksimum dalam set nombor Gunakan fungsi math.Max ​​untuk mendapatkan nilai maksimum dalam set nombor Jul 24, 2023 pm 01:24 PM

Gunakan fungsi math.Max ​​untuk mendapatkan nilai maksimum dalam set nombor Dalam matematik dan pengaturcaraan, selalunya perlu mencari nilai maksimum dalam set nombor. Dalam bahasa Go, kita boleh menggunakan fungsi Max dalam pakej matematik untuk mencapai fungsi ini. Artikel ini akan memperkenalkan cara menggunakan fungsi math.Max ​​untuk mendapatkan nilai maksimum dalam set nombor, dan memberikan contoh kod yang sepadan. Pertama, kita perlu mengimport pakej matematik. Dalam bahasa Go, anda boleh menggunakan kata kunci import untuk mengimport pakej, seperti yang ditunjukkan di bawah: import"mat

Di mana untuk mendapatkan kod keselamatan Google Di mana untuk mendapatkan kod keselamatan Google Mar 30, 2024 am 11:11 AM

Google Authenticator ialah alat yang digunakan untuk melindungi keselamatan akaun pengguna dan kuncinya ialah maklumat penting yang digunakan untuk menjana kod pengesahan dinamik. Jika anda terlupa kunci Google Authenticator dan hanya boleh mengesahkannya melalui kod keselamatan, maka editor tapak web ini akan membawakan anda pengenalan terperinci tentang tempat untuk mendapatkan kod keselamatan Google. Saya harap ia dapat membantu anda tahu lebih lanjut Pengguna sila teruskan membaca di bawah! Mula-mula buka tetapan telefon dan masukkan halaman tetapan. Tatal ke bawah halaman dan cari Google. Pergi ke halaman Google dan klik pada Akaun Google. Masukkan halaman akaun dan klik Lihat di bawah kod pengesahan. Masukkan kata laluan anda atau gunakan cap jari anda untuk mengesahkan identiti anda. Dapatkan kod keselamatan Google dan gunakan kod keselamatan untuk mengesahkan identiti Google anda.

Bagaimana untuk mendapatkan elemen terakhir LinkedHashSet di Java? Bagaimana untuk mendapatkan elemen terakhir LinkedHashSet di Java? Aug 27, 2023 pm 08:45 PM

Mendapatkan semula elemen terakhir daripada LinkedHashSet dalam Java bermakna mendapatkan semula elemen terakhir dalam koleksinya. Walaupun Java tidak mempunyai kaedah terbina dalam untuk membantu mendapatkan semula item terakhir dalam LinkedHashSets, terdapat beberapa teknik berkesan yang memberikan fleksibiliti dan kemudahan untuk mendapatkan semula elemen terakhir ini dengan cekap tanpa melanggar perintah sisipan - satu kemestian bagi isu pembangun Java yang ditangani dengan berkesan dalam aplikasinya . Dengan menggunakan strategi ini secara berkesan dalam projek perisian mereka, mereka boleh mencapai penyelesaian terbaik untuk keperluan ini LinkedHashSetLinkedHashSet ialah struktur data yang cekap dalam Java yang menggabungkan HashSet dan

Bagaimana untuk memasang dua kad SIM pada Realme 12 Pro? Bagaimana untuk memasang dua kad SIM pada Realme 12 Pro? Mar 18, 2024 pm 02:10 PM

Walaupun operasi umum telefon mudah alih domestik sangat serupa, masih terdapat beberapa perbezaan dalam beberapa butiran Sebagai contoh, model dan pengeluar telefon mudah alih yang berbeza mungkin mempunyai kaedah pemasangan dwi-SIM yang berbeza. Telefon baharu Erzhenwo 12Pro juga menyokong dwi-SIM siap sedia, tetapi bagaimanakah dwi-SIM perlu dipasang pada telefon ini? Bagaimana untuk memasang dwi SIM pada Realme 12Pro? Ingat untuk mematikan telefon anda sebelum pemasangan. Langkah 1: Cari dulang kad SIM: Cari dulang kad SIM telefon Biasanya, dalam Realme 12 Pro, dulang kad SIM terletak di bahagian tepi atau atas telefon. Langkah 2: Masukkan kad SIM pertama Gunakan pin kad SIM khusus atau objek kecil untuk memasukkannya ke dalam slot dalam dulang kad SIM Kemudian, masukkan kad SIM pertama dengan teliti.

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Jan 05, 2024 pm 06:08 PM

Tutorial JavaScript: Bagaimana untuk mendapatkan kod status HTTP, contoh kod khusus diperlukan: Dalam pembangunan web, interaksi data dengan pelayan sering terlibat. Apabila berkomunikasi dengan pelayan, kami selalunya perlu mendapatkan kod status HTTP yang dikembalikan untuk menentukan sama ada operasi itu berjaya dan melaksanakan pemprosesan yang sepadan berdasarkan kod status yang berbeza. Artikel ini akan mengajar anda cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan menyediakan beberapa contoh kod praktikal. Menggunakan XMLHttpRequest

Program Java untuk mendapatkan saiz fail yang diberikan dalam bait, kilobait dan megabait Program Java untuk mendapatkan saiz fail yang diberikan dalam bait, kilobait dan megabait Sep 06, 2023 am 10:13 AM

Saiz fail ialah jumlah ruang storan yang digunakan oleh fail tertentu pada peranti storan tertentu, seperti cakera keras. Saiz fail diukur dalam bait. Dalam bahagian ini, kita akan membincangkan cara melaksanakan program java untuk mendapatkan saiz fail yang diberikan dalam bait, kilobait dan megabait. Satu bait ialah unit terkecil maklumat digital. Satu bait bersamaan dengan lapan bit. Satu kilobait (KB) = 1,024 bait, satu megabait (MB) = 1,024KB, satu gigabait (GB) = 1,024MB dan satu terabait (TB) = 1,024GB. Saiz fail biasanya bergantung pada jenis fail dan jumlah data yang terkandung di dalamnya. Mengambil dokumen teks sebagai contoh, saiz fail mungkin hanya beberapa kilobait, manakala imej resolusi tinggi atau fail video mungkin

Dapatkan kemas kini terkini sekarang: Betulkan kemas kini terkini yang tiada Dapatkan kemas kini terkini sekarang: Betulkan kemas kini terkini yang tiada Nov 08, 2023 pm 02:25 PM

Jika pilihan "Dapatkan kemas kini terkini sebaik sahaja ia tersedia" tiada atau dikelabukan, anda mungkin menjalankan versi Saluran Pembangun Windows 11, dan ini adalah perkara biasa. Bagi yang lain, isu timbul selepas memasang kemas kini KB5026446 (22621.1778). Berikut ialah perkara yang boleh anda lakukan untuk mendapatkan kembali pilihan "Dapatkan kemas kini terkini sebaik sahaja ia tersedia". Bagaimanakah saya boleh mendapatkan kembali pilihan "Dapatkan kemas kini terkini sebaik sahaja ia tersedia"? Sebelum memulakan mana-mana penyelesaian di bawah, pastikan anda menyemak kemas kini Windows 11 terkini dan memasangnya. 1. Gunakan ViVeTool untuk pergi ke halaman Katalog Kemas Kini Microsoft dan cari kemas kini KB5026446. Muat turun dan pasang semula kemas kini pada PC anda

See all articles