select*from (select sql_text, sql_id, cpu_time from v$sql order
by cpu_time desc)
where rownum <=
10order
by rownum asc
;select
*from (select sql_text, sql_id, cpu_time from v$sqlarea order
by cpu_time desc)
where rownum <=
10order byrownum asc;
這2個語句效果基本一樣,乙個從v$sql檢視查詢乙個從v$sqlarea檢視查詢。
列出使用頻率最高的5個查詢:
selectsql_text, executions
from (select
sql_text,
executions,
rank()
over(order
by executions desc
) exec_rank
from
v$sql)
where exec_rank <=
5;
消耗磁碟讀取最多的sql top5:
selectdisk_reads, sql_text
from (select
sql_text,
disk_reads,
dense_rank()
over(order
by disk_reads desc
) disk_reads_rank
from
v$sql)
where disk_reads_rank <=
5;
找出需要大量緩衝讀取(邏輯讀)操作的查詢:
selectbuffer_gets, sql_text
from (select
sql_text,
buffer_gets,
dense_rank()
over(order
by buffer_gets desc
) buffer_gets_rank
from
v$sql)
where buffer_gets_rank <=
5;
使用快取降低資料庫查詢頻率
在寫業務的時候遇到關聯另乙個實體類然後需要獲取該實體類的相關屬性的情況。如果在遍歷外層物件的時候要去查詢該物件,也就是迴圈巢狀查詢,這樣在面對該物件該字段可修改的可能性很小並該查詢比較頻繁的情況下考慮依靠快取去降低資料庫的負擔。例如我在迴圈處理廣告位 adlocation類有乙個mediaid屬性,...
查詢oracle24小時內切換頻率
column dt format a10 column dy format a7 column total format 999 column h0 format 99 column h1 format 99 column h2 format 99 column h3 format 99 colum...
oracle分割槽表的使用和查詢
參考 假設有乙個customer表,表中有資料200000行,我們將此表通過customer id進行分割槽,每個分割槽儲存100000行,我們將每個分割槽儲存到單獨的表空間中,這樣資料檔案就可以跨越多個物理磁碟。下面是建立表和分割槽的 create table customer customer ...