第九章 sqlplus的調整
第九章 sqlplus的調優
一、跟蹤語句
1、自動跟蹤報告
Usage: SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]
前提:自己的使用者下用命令@$ORACLE_HOME/RDBMS/ADMIN/UTLXPLAN.SQL建立plan_table,並由dba許可權使用者授予plustrace角色
2、執行計劃
執行計劃包括四個欄位:
ID_PLUS_EXP: Shows the line number of each execution step.
PARENT_ID_PLUS_EXP: Shows the relationship between each step and its parent.This column is useful for large reports.
PLAN_PLUS_EXP: Shows each step of the report.
OBJECT_NODE_PLUS_EXP: Shows database links or parallel query servers used.
通過命令column parent_id_plus_exp noprint 可以隱藏該列。
3、統計資訊
recursive calls : Number of recursive calls generated at both the user and system level. Oracle Database maintains tables used for internal processing. When Oracle Database needs to make a change to these tables, it internally generates an internal SQL statement, which in turn generates a recursive call.
db block gets: Number of times a CURRENT block was requested.
consistent gets : Number of times a consistent read was requested for a block
physical reads Total: number of data blocks read from disk. This number equals the value of "physical reads direct" plus all reads into buffer cache.
redo size : Total amount of redo generated in bytes
bytes sent through SQL*Net to client:Total number of bytes sent to the client from the foreground processes.
bytes received through SQL*Net from client: Total number of bytes received from the client over Oracle Net.
SQL*Net round-trips to/from client: Total number of Oracle Net messages sent to and received from the client
sorts (memory): Number of sort operations that were performed completely in memory and did not require any disk writes
sorts (disk): Number of sort operations that required at least one disk write
rows processed: Number of rows processed during the operation
按照需要可以合理選擇set autot的選項。通常來說,查詢大量資料時,考慮set autot on traceonly
二、收集時間資訊
set timing on 顯示一條語句或一個語句塊的執行時間
set timing off
clear timing
三、並行和分步式查詢的跟蹤
對於並行或分散式的查詢,執行計劃顯示的成本是基於優化器對行數評估而得到的。通常統計結果是累計值。
含有星號的行標識。
執行計劃中有三列:
ID_PLUS_EXP :Shows the line number of each execution step.
OTHER_TAG_PLUS_EXP:Describes the function of the SQL statement in the OTHER_PLUS_EXP column.
OTHER_PLUS_EXP:Shows the text of the query for the parallel server or remote database
就統計資訊來說,如果consistent gets或physical reads的值相對於其所返回的值來說比較高,表明查詢代價很高,可能需要優化。可以使用tkprof或v$sql檢視進行監控。
四、sqlplus指令碼的調優
1.column noprint
用法 COLUMN column_name NOPRINT
表示不顯示某一列資訊。可以用在排除少數幾個不需要的列顯示的情況。該命令是將指定的列查出來了但不顯示,而如果在select
中沒有這一列,則是根本就不對該列進行查詢。
2.set appinfo off
設定指令碼通過dbms_application_info的註冊,該包用於監控指令碼的效能和資源使用情況,off表示關閉了sqlplus對該包的內部調
用。
3.set arraysize
設定sqlplus每次從資料庫抽取資料的行數,範圍從1到5000
當前的幾個版本的資料庫,該值的設定影響不大。如果這個值過大,會花費更多的sqlplus記憶體,降低效能。
4.set define off
禁止用命令設定 用值代替變數
5.set flush off
允許作業系統的快取輸出。
on禁止快取輸出到螢幕。
如果執行的指令碼不需要使用者互動,可以在執行結束後再看到,就可以設定為off。
6.set linesize
設定每行的字元數
儘量將此值設的小一點,以避免額外的記憶體分配;但linesize太小,列值不在一行顯示,也會降低效能
7.set longchunksize
設定sqlplus在輸出CLOB、LONG、NCLOB、XML型別資料時的大小。
8.set pagesize
設定每頁的行數。增加該值可以避免頻繁顯示頁首資訊,設定為0會阻止頁首顯示。
9.set serveroutput
off將禁止dbms_output.put_line的輸出顯示,在內部不會呼叫dbms_output包
10.set sqlprompt
設定sqlplus的提示符,預設是“SQL>”。iSQLplus不支援
11.set tab
設定輸出的結果中空格的格式。set tab on後多個空格被壓縮。除了減少資料寫以外,該命令的使用弊大於利。
12.set termout
set termout off 不會將結果顯示在螢幕上,如果既不需要顯示結果,也不需要將結果spooling到檔案,可以用該命令。
13.set trimout on/set trimspool on
去掉結果結尾的空格或空行
14.undefine
刪除不必要的替代變數,減少了對‘&’、new_value、old_value呼叫時的時間花費。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26451536/viewspace-753449/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在SQLPLUS中使用AUTOTRACE——效能調整手冊和參考SQL
- 字串的調整II字串
- Gamma調整GAM
- Oracle效能調整之--DML語句效能調整Oracle
- Oracle效能最佳化調整--調整重做機制Oracle
- 網路調整——效能調整手冊和參考
- Nginx調整(一)Nginx
- oracle 效能調整Oracle
- 調整策略工具
- 視訊直播app原始碼,對首頁樣式的整體調整,調整成圓角化APP原始碼
- Nginx的優化調整方面Nginx優化
- 週報調整的若干思考
- 調整 JavaScript 抽象的迭代方案JavaScript抽象
- 調整WebLogic的時間Web
- 調整JavaScript 抽象的迭代方案JavaScript抽象
- 系統時間的調整
- Oracle效能調整的誤區Oracle
- sqlplus中調節顯示SQL
- 批量調整視訊尺寸大小的方法,一鍵自動批量調整視訊
- 自動記憶體調整中真正決定自動調整的引數記憶體
- oracle 線上調整redoOracle
- MySQL引數調整MySql
- 資料塊調整
- AIX 調整時區AI
- oracle效能調整(1)Oracle
- oracle效能調整(2)Oracle
- ORACLE效能調整--1Oracle
- ORACLE效能調整---2Oracle
- Oracle 效能調整for HWOracle
- (zt)Oracle效能調整Oracle
- 調整oracle redologOracle Redo
- oracle效能調整2Oracle
- hadoop queue的配額調整Hadoop
- 備份的優化和調整優化
- JavaScript拖動調整元素的尺寸JavaScript
- Android : 螢幕亮度的調整Android
- 譯|調整JavaScript抽象的迭代方案JavaScript抽象
- oracle資料庫的效能調整Oracle資料庫