mysql bytessent_如何对DSQLSERVER、MySQL、Orache语句性能分析
SQLSERVER語句性能分析
SQL?SERVER通過設置STATISTICS查看執行SQL時的系統情況。
SET?STATISTICS?PROFILE?ON:顯示分析、編譯和執行查詢所需的時間(以毫秒為單位)。
SET?STATISTICS?IO?ON:報告與語句內引用的每個表的掃描數、邏輯讀取數(在高速緩存中訪問的頁數)和物理讀取數(訪問磁盤的次數)有關的信息。
SET?STATISTICS?TIME?ON:顯示每個查詢執行后的結果集,代表查詢執行的配置文件。
使用方法:打開SQL?SERVER?查詢分析器,輸入以下語句:
SET?STATISTICS?PROFILE?ON
SET?STATISTICS?IO?ON
SET?STATISTICS?TIME?ON
GO?/*--你的SQL腳本開始*/
SELECT?[TestCase]?FROM?[TestCaseSelect]
GO?/*--你的SQL腳本結束*/
SET?STATISTICS?PROFILE?OFF
SET?STATISTICS?IO?OFF
SET?STATISTICS?TIME?OFF
MySQL語句性能分析
SHOW?PROFILES?/*查看SQL耗時情況,用于分析SQL性能*/
SHOW?PROFILE[type[,type]...]??/*查看SQL語句資源消耗情況,type見下面type說明*/
[FOR?QUERY?n]??/*查詢指定語句ID為n的情況,ID為SHOW?PROFILES查詢出語句的Query_ID*/
[LIMIT?row_count[OFFSET?offset]]
上面type可以是:
2ALL ? ? ? ? ?所有信息
2BLOCK?IO ? ? 模塊I/O操作次數
2CONTEXT?SWITCHES 上下文切換數
2CPU ? ? ? ? ?用戶CPU使用情況
2IPC ? ? ? ? ?發送和接收消息的數量
2MEMORY ? ? ? 內存使用情況
2PAGE?FAULT ? 頁面錯誤量
2SOURCE?????? 源碼中的函數名稱與位置
2SWAPS?????? ?SWAP次數
Oracle語句性能分析
Autotrace??/*SQLPLUS的AutoTrace是分析SQL的執行計劃,執行效率的工具*/
用法:?SET?AUTOT[RACE]?{OFF?|?ON?|?TRACE[ONLY]}?[EXP[LAIN]]?[STAT[ISTICS]]
SET?AUTOT[RACE]?ON???/*開啟AutoTrace,顯示AUTOTRACE信息和SQL執行結果*/
|SET?AUTOT[RACE]?TRACEONLY??/*開啟AutoTrace,僅顯示AUTOTRACE信息*/
|SET?AUTOT[RACE]?ON?EXPLAIN??/*開啟AutoTrace,僅顯示AUTOTRACE的EXPLAIN信息*/
|SET?AUTOT[RACE]?ON?STATISTICS?/*開啟AutoTrace,僅顯示AUTOTRACE的STATISTICS信息*/
/*執行的SQL語句*/
SET?AUTOT[RACE]?OFF??/*停止AutoTrace*/
結果列說明:
recursive?calls ?/*遞歸調用-執行SQL的時候的產生的遞歸調用的數量,這個參數和訪問數據字典的次數有很大的關系。一般來說,這個參數值不會很大。*/
db?block?gets /*DB塊取-在發生INSERT,DELETE,UPDATE,SELECT?FOR?UPDATE的時候,數據庫緩沖區中的數據庫塊的個數。在SELECT語句中一般為0。*/
consistent?gets /*一致性讀-除了SELECT?FOR?UPDATE的時候,從數據庫緩沖區中讀取的數據塊的個數*/
physical?reads /*物理讀*/
redo?size /*重做日志大小-執行SQL的過程中,產生的重做日志的大小*/
bytes?sent?via?SQL*Net?to?client /*通過sql*net發送給客戶端的字節數*/
bytes?received?via?SQL*Net?from?client /*通過sql*net接受客戶端的字節數*/
sql*net?roundtrips?to/from?client?/*See?how?setting?the?arraysize?affects?SQL*Net?roundtrips?to/from?client.*/
sorts(memory) /*在內存中發生的排序*/
sorts(disk) /*不能在內存中發生的排序,需要硬盤來協助*/
rows?processed /*結果記錄數*/
set?timing?on;?/*在SQPPLUS中得到語句總執行的時間,顯示時間單位為:毫秒*/
本文由51ste.com網友編輯,未經授權,不得轉載使用上述作品盈利;個人轉載,需標明作者及出處。
總結
以上是生活随笔為你收集整理的mysql bytessent_如何对DSQLSERVER、MySQL、Orache语句性能分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql数据库存表情报错_mysql数
- 下一篇: dubbo mysql_dubbo系列