一 oracle的鎖分為2種:悲觀鎖定和樂觀鎖定。其中悲觀鎖定一般用在c/s結構,要一直保持通話。樂觀鎖定有3種方式實現。
1 加偽列,scn列。
a 查詢的時候查出scn值,select scn
b update的時候判斷scn的值是否與查詢的值相同,update where scn=
c update後scn改變
2 校驗和
資料庫設計的時候多加乙個字段,每一次執行語句雜湊值都會改變,消耗大量cpu。
3 加乙個欄位last_update_date(一般都用這種方式實現)
a select last_update_date 先查詢出當前的last_update_date值。
b update set last_update_date=新值 where last_update_date=先前查詢出來的值。
修改的時候先判斷這個欄位的值是否與上次查詢的值相同,若相同,就執行修改語句,同時把last_update_date值改變。
二對外鍵加索引
如果資料量大的時候,外來鍵一定要加索引,如果少的話,就不要加。
三 使用繫結變數
oracle在執行語句前都會先分析,優化sql語句,這需要時間,如果使用了繫結變數就會節省這部分時間。
(1)乙個真實的案例,2個沒有使用繫結變數的語句和11個使用了繫結變數的語句執行的時間是一樣的。如果oracle效能變差是因為程式設計引起的,那麼大部分原因就是沒有使用繫結變數。
(2)不要過度使用繫結變數,如果更新的範圍比較大,就不要用繫結變數,這樣反而會增加時間,所以報表分析的時候不要用繫結變數。
四 提交語句
在更新100條語句左右的時候提交比較好。
五 ddl語句:
如果要刪除整個表,用truncate table。這樣會很快,但是這是永久刪除,無法回滾,因為這種刪除不會在日誌檔案中記錄。
Oracle效能調優
在過去的十年中,oracle已經成為世界上最專業的資料庫之一。對於it專家來說,就是要確保利用oracle的強大特性來提高他們公司的生產力。最有效的方法之一是通過oracle調優。它有大量的調整引數和技術來改進你的oracle資料庫的效能。oracle調優是乙個複雜的主題。關於調優可以寫整整一本書,...
Oracle效能調優原則
任何事情都有它的源頭,要解決問題,也得從源頭開始,影響oracle效能的源頭非常多,主要包括如下方面 資料庫的硬體配置 cpu 記憶體 網路條件。1.cpu 在任何機器中cpu的資料處理能力往往是衡量計算機效能的乙個標誌,並且oracle是乙個提供並行能力的資料庫系統,在cpu方面的要求就更高了,如...
oracle調優筆記
在sqlplus中輸入 desc v libraycache v sgastat v sql v sqlarea v sqltext v db object cache select from v librarycache col namespace format a10 設定格式長度 查詢執行次數...