Rumah pangkalan data tutorial mysql Oracle获取执行计划的几种方法

Oracle获取执行计划的几种方法

Jun 07, 2016 pm 05:29 PM
nombor

为了获取缓存库中的执行计划,可以直接查询动态性能视图v$sql_plan和v$sql_plan_statistics_all等,但更方便的方法是以sql_id和子

1. 预估执行计划 - Explain Plan

Explain plan以SQL语句作为输入,得到这条SQL语句的执行计划,并将执行计划输出存储到计划表中。

首先,在你要执行的SQL语句前加explain plan for,此时将生成的执行计划存储到计划表中,语句如下:
 
explain plan for SQL语句
 
然后,在计划表中查询刚刚生成的执行计划,语句如下:
 
select * from table(dbms_xplan.display);

注意:Explain plan只生成执行计划,并不会真正执行SQL语句,因此产生的执行计划有可能不准,因为:

1)当前的环境可能和执行计划生成时的环境不同;
2)不会考虑绑定变量的数据类型;
3)不进行变量窥视。 

2. 查询内存中缓存的执行计划 (dbms_xplan.display_cursor)

如果你想获取正在执行的或刚执行结束的SQL语句真实的执行计划(即获取library cache中的执行计划),可以到动态性能视图里查询。方法如下:

1)获取SQL语句的游标

游标分为父游标和子游标,父游标由sql_id(或联合address和hash_value)字段表示,子游标由child_number字段表示。

如果SQL语句正在运行,可以从v$session中获得它的游标信息,如:
 select status, sql_id, sql_child_number from v$session where status='ACTIVE' and ....

如果知道SQL语句包含某些关键字,可以从v$sql视图中获得它的游标信息,如:
 select sql_id, child_number, sql_text from v$sql where sql_text like '%关键字%‘

2)获取库缓存中的执行计划
 
为了获取缓存库中的执行计划,可以直接查询动态性能视图v$sql_plan和v$sql_plan_statistics_all等,但更方便的方法是以sql_id和子游标为参数,执行如下语句:
 select * from table(dbms_xplan.display_cursor('sql_id',child_number));
 

3)获取前一次的执行计划:
 set serveroutput off
 select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));

3. 查询历史执行计划(dbms_xplan.display_awr)

AWR会定时把动态性能视图中的执行计划保存到dba_hist_sql_plan视图中,如果你想要查看历史执行计划,可以采用如下方法查询:
 select * from table(dbms_xplan.display_awr('sql_id');

4. 在用sqlplus做SQL开发是(Autotrace)

set autotrace是sqlplus工具的一个功能,只能在通过sqlplus连接的session中使用,它非常适合在开发时测试SQL语句的性能,有以下几种参数可供选择:
 

SET AUTOTRACE OFF ---------------- 不显示执行计划和统计信息,这是缺省模式
 SET AUTOTRACE ON EXPLAIN ------ 只显示优化器执行计划
 SET AUTOTRACE ON STATISTICS -- 只显示统计信息
 SET AUTOTRACE ON ----------------- 执行计划和统计信息同时显示
 SET AUTOTRACE TRACEONLY ------ 不真正执行,,只显示预期的执行计划,同explain plan

5. 生成Trace文件查询详细的执行计划 (SQL_Trace, 10046)

SQL_TRACE作为初始化参数可以在实例级别启用,也可以只在会话级别启用,在实例级别启用SQL_TRACE会导致所有进程的活动被跟踪,包括后台进程及所有用户进程,这通常会导致比较严重的性能问题,所以在一般情况下,我们使用sql_trace跟踪当前进程,方法如下:

SQL>alter session set sql_trace=true;
 ...被跟踪的SQL语句...
 SQL>alter session set sql_trace=false;
 如果要跟踪其它进程,可以通过Oracle提供的系统包DBMS_SYSTEM. SET_SQL_TRACE_IN_SESSION来实现,例如:
 SQL> exec dbms_system.set_sql_trace_in_session(sid,serial#,true) --开始跟踪
 SQL> exec dbms_system.set_sql_trace_in_session(sid,serial#,false) --结束跟踪

生成trace文件后,再用tkprof 工具将sql trace 生成的跟踪文件转换成易读的格式,语法如下:
 tkprof inputfile outputfile
 
10046事件是SQL_TRACE的一个升级版,它也是追踪会话,生成Trace文件,只是它里面的内容更详细,

linux

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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Topik panas

Tutorial Java
1664
14
Tutorial PHP
1266
29
Tutorial C#
1239
24
Top 10 Global Ranking Platform Perdagangan Mata Wang Maya Digital (2025 Perjalanan) Top 10 Global Ranking Platform Perdagangan Mata Wang Maya Digital (2025 Perjalanan) Mar 06, 2025 pm 04:36 PM

Pada tahun 2025, platform perdagangan mata wang maya digital global sangat kompetitif. OKX menduduki tempat pertama dengan kekuatan teknikal yang kuat dan strategi operasi global, dan Binance mengikuti rapat dengan kecairan yang tinggi dan yuran yang rendah. Platform seperti Gate.io, Coinbase, dan Kraken berada di barisan hadapan dengan kelebihan masing -masing. Senarai ini meliputi platform perdagangan seperti Huobi, Kucoin, Bitfinex, Crypto.com dan Gemini, masing -masing dengan ciri -cirinya sendiri, tetapi pelaburan harus berhati -hati. Untuk memilih platform, anda perlu mempertimbangkan faktor -faktor seperti keselamatan, kecairan, yuran, pengalaman pengguna, pemilihan mata wang dan pematuhan peraturan, dan melabur secara rasional

atur cara C untuk mencari faktor perdana terbesar bagi suatu nombor atur cara C untuk mencari faktor perdana terbesar bagi suatu nombor Aug 27, 2023 am 10:09 AM

Faktor Perdana−Teori Nombor,faktor utama bagibilangan bulat positif ialah nombor perdanayang bahagikan dalam satu sama lain.Proses mencari nombor disebut sebagai pemfaktoranteger,ataupemfaktoran.Contoh−Faktor perdana bagi288 ialah:288=2x2x2x2x

10 Pertukaran Teratas dalam Bulatan Mata Wang Pada 2025 Ranking Aplikasi Mata Wang Digital Terkini 10 Pertukaran Teratas dalam Bulatan Mata Wang Pada 2025 Ranking Aplikasi Mata Wang Digital Terkini Feb 27, 2025 pm 06:33 PM

Kedudukan Platform Perdagangan Mata Wang Maya Sepuluh Top (Terkini pada 2025): Binance: Pemimpin global, kecairan yang tinggi, dan peraturan telah menarik perhatian. OKX: Pangkalan pengguna yang besar, menyokong pelbagai mata wang, dan menyediakan perdagangan leverage. Gate.io: Pertukaran kanan, dengan pelbagai kaedah pembayaran mata wang fiat, menyediakan pelbagai pasangan perdagangan dan produk pelaburan. Bitget: Pertukaran derivatif, kecairan yang tinggi, yuran yang rendah. Huobi: Pertukaran lama yang menyokong pelbagai mata wang dan pasangan perdagangan. Coinbase: Pertukaran Amerika yang terkenal, yang dikawal ketat. Phemex dan sebagainya.

10 platform perdagangan mata wang digital teratas senarai terbaru 10 platform perdagangan mata wang digital teratas 10 platform perdagangan mata wang digital teratas senarai terbaru 10 platform perdagangan mata wang digital teratas Mar 17, 2025 pm 05:57 PM

10 platform perdagangan mata wang digital teratas: 1. Okx, 2. Binance, 3. Gate.io, 4. Huobi Global, 5. Kraken, 6. Coinbase, 7. Kucoin, 8.

10 platform perdagangan teratas untuk aplikasi mata wang digital, cadangan aplikasi platform spekulasi mata wang tetap 10 platform perdagangan teratas untuk aplikasi mata wang digital, cadangan aplikasi platform spekulasi mata wang tetap Mar 07, 2025 pm 06:51 PM

Artikel ini mengesyorkan aplikasi perdagangan mata wang digital: 1. Apabila memilih platform, anda perlu mempertimbangkan faktor -faktor seperti keselamatan, kecairan, yuran transaksi, pemilihan mata wang, antara muka pengguna, sokongan perkhidmatan pelanggan dan pematuhan peraturan, dan menilai dengan teliti risiko dan tidak pernah membabi buta mengikuti trend.

Sepuluh Platform Perdagangan Mata Wang Top Teratas di Dunia Sepuluh Platform Perdagangan Mata Wang Top Teratas di Dunia Mar 12, 2025 pm 05:33 PM

Artikel ini menyediakan kaedah muat turun aplikasi mudah alih Android dan Apple untuk platform perdagangan mata wang digital arus perdana seperti Binance, OKX, Gate.io, Huobi Global, Coinbase, Kucoin, Kraken dan Bitfinex. Sama ada pengguna Android atau pengguna Apple, anda boleh mencari pautan muat turun aplikasi rasmi untuk platform yang sepadan dan melengkapkan pemasangan mengikut langkah -langkah. Artikel ini menyediakan panduan terperinci mengenai mencari dan memuat turun di laman web rasmi masing -masing atau kedai aplikasi, dan memberikan arahan mengenai langkah -langkah khas untuk memasang fail APK di Android, supaya pengguna dapat memuat turun dan menggunakannya dengan cepat dan mudah.

Apakah platform mata wang digital yang boleh dipercayai? Apakah platform mata wang digital yang boleh dipercayai? Mar 17, 2025 pm 05:45 PM

Platform mata wang digital yang boleh dipercayai termasuk: 1.

Pertukaran mata wang maya 10 digital teratas yang disyorkan Ranking Aplikasi Dagangan Digital Biasa Digital Pertukaran mata wang maya 10 digital teratas yang disyorkan Ranking Aplikasi Dagangan Digital Biasa Digital Mar 17, 2025 pm 05:33 PM

Pertukaran mata wang maya digital termasuk: 1. Okx, 2. Binance, 3.

See all articles