自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何了解Oracle生成執(zhí)行計劃

數(shù)據(jù)庫 Oracle
這里介紹Oracle生成執(zhí)行計劃,包括介紹我們還可以為一個正在運行的會話中運行的所有SQL語句生成執(zhí)行計劃,這需要對該會話進(jìn)行跟蹤,產(chǎn)生 trace文件,然后對該文件用tkprof程序格式化一下。

Oracle還是比較常用的,于是我研究了一下Oracle生成執(zhí)行計劃,在這里拿出來和大家分享一下,希望對大家有用。如何Oracle生成執(zhí)行計劃?要為一個語句Oracle生成執(zhí)行計劃,可以有3種方法:

1.最簡單的辦法

執(zhí)行完語句后,會顯示explain plan 與 統(tǒng)計信息。這個語句的優(yōu)點就是它的缺點,這樣在用該方法查看執(zhí)行時間較長的sql語句時,需要等待該語句執(zhí)行成功后,才返回執(zhí)行計劃,使優(yōu)化的周期大大增長。

這樣,就只會列出執(zhí)行計劃,而不會真正的執(zhí)行語句,大大減少了優(yōu)化時間。雖然也列出了統(tǒng)計信息,但是因為沒有執(zhí)行語句,所以該統(tǒng)計信息沒有用處,如果執(zhí)行該語句時遇到錯誤,解決方法為:
(1)在要分析的用戶下
(2) 用sys用戶登陸

2.用explain plan命令
(1) sqlplus > @ ?\rdbms\admin\utlxplan.sql
(2) sqlplus > explain plan set statement_id =’???’ for select ………………

注意,用此方法時,并不執(zhí)行sql語句,所以只會列出執(zhí)行計劃,不會列出統(tǒng)計信息,并且執(zhí)行計劃只存在plan_table中。所以該語句比起set autotrace traceonly可用性要差。需要用下面的命令格式化輸出,所以這種方式我用的不多。

上面這2種方法只能為在本會話中正在運行的語句產(chǎn)生執(zhí)行計劃,即我們需要已經(jīng)知道了哪條語句運行的效率很差,我們是有目的只對這條SQL語句去優(yōu)化。其實,在很多情況下,我們只會聽一個客戶抱怨說現(xiàn)在系統(tǒng)運行很慢,而我們不知道是哪個SQL引起的。此時有許多現(xiàn)成的語句可以找出耗費資源比較多的語句。

從而對找出的語句進(jìn)行進(jìn)一步優(yōu)化。當(dāng)然我們還可以為一個正在運行的會話中運行的所有SQL語句生成執(zhí)行計劃,這需要對該會話進(jìn)行跟蹤,產(chǎn)生 trace文件,然后對該文件用tkprof程序格式化一下,這種得到執(zhí)行計劃的方式很有用,因為它包含其它額外信息,如SQL語句執(zhí)行的每個階段(如 Parse、Execute、Fetch)分別耗費的各個資源情況(如CPU、DISK、elapsed等)。

3.用dbms_system存儲過程Oracle生成執(zhí)行計劃

因為使用dbms_system存儲過程可以跟蹤另一個會話發(fā)出的sql語句,并記錄所使用的執(zhí)行計劃,而且還提供其它對性能調(diào)整有用的信息。因其使用方式與上面2種方式有些不太一樣,所以在附錄中單獨介紹。這種方法是對SQL進(jìn)行調(diào)整比較有用的方式之一,有些情況下非它不可。具體內(nèi)容參見附錄。

【編輯推薦】

  1. 快速了解Oracle哈希連接
  2. 詳細(xì)談?wù)揙racle表連接
  3. 分析Oracle索引掃描四大類
  4. 高手閑談Oracle索引掃描
  5. 六分鐘學(xué)會Oracle全表掃描
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-11-10 16:00:05

Oracle執(zhí)行計劃

2009-11-18 17:05:47

捕獲Oracle SQ

2024-09-12 15:16:14

2017-11-15 08:50:59

數(shù)據(jù)庫MySQL執(zhí)

2011-09-14 17:03:17

數(shù)據(jù)庫執(zhí)行計劃解析

2011-08-18 14:10:51

Oracle不走索引

2015-04-22 14:17:45

SQL SERVERMSSQL SERVE緩沖區(qū)

2023-09-21 10:55:51

MysqlSQL語句

2021-03-17 09:35:51

MySQL數(shù)據(jù)庫explain

2021-05-28 10:46:36

MySQL執(zhí)行計劃

2010-10-27 15:26:42

Oracle執(zhí)行計劃

2021-12-13 22:15:29

SQLOracle共享池

2017-09-22 11:01:00

Oracle數(shù)據(jù)庫中直方圖

2011-05-17 09:32:25

DB2

2014-08-28 09:54:35

SQL Server

2022-08-08 08:03:44

MySQL數(shù)據(jù)庫CBO

2022-08-15 15:09:26

SQL數(shù)據(jù)庫MySQL

2021-09-07 10:43:25

EverDB分布式執(zhí)行

2010-04-16 09:27:18

Ocacle執(zhí)行計劃

2020-09-15 08:44:57

MySQL慢日志SQL
點贊
收藏

51CTO技術(shù)棧公眾號