1.資料庫優化的時期:資料庫的優化從設計,資料庫的安裝已經開始。
2.資料庫效能的主要指標是響應時間。影響資料庫增長率的表的種類:
c資料表(事務表):增長的主要因素
d臨時/介面表
3.資料庫優化的主要方法:
a網路b硬體優化 主要在應用程式調整的初期。
c作業系統的優化
.unix系統
調整引數:共享記憶體和訊號燈
監測工具:
工具 主要關心的引數
iostat bps和tps
vmstat page fault,page pin,page pount
.windownt
使不必要的服務失效
取消螢幕保護
只將機器用做資料庫伺服器
如果是windowsnt系統
控制面扳中system tool—performance中boost選擇none,減少檔案系統緩衝
利用效能監視器監視資料庫伺服器,分析效能瓶頸
利用微軟資源工具箱(resources pake)中的工具(process viewer、process explode、quick slice、process stat)監視資料庫伺服器,決定作業系統是否優化
d資料庫系統優化
原理:合理的分配記憶體大小;合理的設定表空間體系和內部空間引數。
記憶體結構的優化是通過int.ora檔案的環境引數來配置。
主要引數:db_block_size可增大,shared_pool_size效能指標free memory,log_buffer
監測工具:a.toad或tora(linux) b.utlbstat和utlestat這兩個檔案在oracle_home/rdbms/admin下,在執行指令碼前注意更改tiemed_statistic為true,執行後檢視report檔案。
經驗:表空間設計的時候應遵循oracle的最優化體系結構建議;db_block_buffers和library_cache都要保證合理的命中率;為了使全表掃瞄的效率最高,每個extent(資料區)都應該db_block_size*db_fiel_multiblock_read_count的倍數;如果是非常大的表,做sql*loader或者export操作時要使用direct選項,建立非常大的表和索引時要使用nologing選項。selectsegment_name,bytes/1024/1024,blocks,extentsfromuser_segmentswheresegment_name = '&table_name';可以檢視表的大小,占用多少個資料塊,在segment上的extent數目;selectsegment_name,extent_id,bytes/64,blocksfromuser_extentswheresegment_name = '&table_name'可以檢視每個extents上有多少資料塊,每個extent需要做多少次多塊讀取。
e應用程式優化
單條sql語句的優化:查詢最影響效能的sql語句的方法
select executions,
disk_reads,
buffer_gets,
round((buffer_gets - disk_reads) / buffer_gets, 2) hit_radio,
round(disk_reads / executions, 2) reads_per_run,
sql_text
from v$sqlarea
where executions > 0
and buffer_gets > 0
and (buffer_gets - disk_reads) / buffer_gets < 0.8
order by 4 desc;
對大表建立索引:使用選擇性高的索引,同時要控制索引的大小。
資料庫效能優化學習
資料庫的效能優化不僅僅是dba的事情,我們程式設計師也是需要了解的。更何況不是每個公司都是有dba的。這就需要我們程式設計師更多的注意。現在的應用基本上都是關聯到對資料庫的操作,對於高併發的應用對資料庫的應用就更為重要。資料庫的優化主要包括資料庫表的設計和sql的優化。以下是學習和應用中的總結 資料...
資料庫效能優化學習小記
看了 構建高效能web站點 的資料庫效能優化,來寫一下學習筆記 索引類似於書籍目錄裡的章節 建立合適的索引是我們自己的事情 組合索引即先查詢哪一章再查詢哪一節,不至於找到某一章之後進行掃瞄,浪費時間 組合索引的 在應該使用全表掃瞄的時候使用了索引掃瞄,將導致時間的大量浪費 使用慢查詢分析工具,找出用...
ORACLE學習筆記(四) 資料庫優化
繫結變數包擴下面兩個部分 1 輸入集合 collections 使用forall語句,一般用來改善dml insert update和delete 操作的效能 2 輸出集合 collections 使用bulk collect子句 一般用來提高查詢 select 的效能。create or repl...