一:使用表供高速緩衝(cache bufferiilg),sql語句共享!
oralce為單錶查詢提供了sql語句共享。也就是執行過的sql語句放在快取記憶體裡!下次執行相同的語句是直接執行不在重新解釋!只是針對單錶查詢有效!
sql共享的sql必須,滿足三個條件
當前被執行的語句和共享池中的語句必須完全相同 (包括大小寫、空格、換行等
語句所指物件必須完全相同 即兩條sql語句操作的資料庫物件必須同一
兩個sql語句中必須使用相同的名字的繫結變數(bind variables) )
sql語句出來過程
二:繫結變數解決重編譯問題
不繫結變數的sql語句每執行一次就需要在share pool 硬解析一次,一百萬使用者就是一百萬次,消耗cpu和記憶體,如果業務量大,很可能導致宕庫……
如果繫結變數,則只需要硬解析一次,重複呼叫即可
例子:未繫結變數
sprintf(sqlstr, "insert into scott.test1 (v1, v2) values
(%d,%d)",n_var1, n_var2);
exec sql execute immediate :sqlstr ;
exec sql commit
繫結變數
strcpy(sqlstr, "insert into test (num1, num2) values (:v1, :v2)");
exec sql prepare sql_stmt from :sqlstr;
exec sql execute sql_stmt using :n_var1, :n_var2;
exec sql commit;
三:盡量公尺麵全表少苗,盡量使到rowid
四:大資料表刪除,用truncate table代替delete。
五:查詢盡量用確定的列名,少用*號
盡量少巢狀子查詢,這種查詢會消耗大量的cpu資源;對於有比較多
or運算的查詢,建議分成多個查詢,用union all聯結起來;多表查詢
的查詢語句中,選擇最有效率的表名順序。oracle解析器對錶解析從
右到左,所以記錄少的表放在右邊。
六: 盡量多用commit語句提交事務,可以及時釋放資源、解
鎖、釋放日誌空間、減少管理花費;在頻繁的、效能要求比較高的
資料操作中,盡量避免遠端訪問,如資料庫鏈等,訪問頻繁的錶可
以常駐記憶體:alter table...cache;
高效率秘籍
高效率秘籍1 能量管理 假如今天透支身體數小時,下週你可能要為此償還更多的時間。良好的能量管理有兩步 1 增加你的能量儲備。2 將你的日程表由線性的改為迴圈式的。能量儲備 1 每週有3 5次運動嗎?如果你的回答為否,你正在削弱你的潛在能量水平,除非你的醫生不讓你參加運動,否則最少每天要抽出40分鐘來...
高效率生活
如何高效率生活 我們經常會想,為什麼我天天很努力的工作可是工作還是幹不完,如何才能高效率的工作和學習呢?我想這裡有過一些想法和經驗 經驗2 完成乙個事情再休息。因為人腦和電腦很像,乙個東西只有有了結果之後,再次回想時候才能有用,每個東西都要歸根到乙個節點上,乙個完結的點之後才能由這個點拓展開來,就和...
高效率java程式設計
1 考慮使用靜態工廠方法代替構構方法來例項化類。2 使用私用構構函式,使類具有不可例項化的能力。3 避免建立重複的物件 4 消除過期的物件的使用 5 避免使用終結函式 6 使類和成員的可訪問性最小 7 介面優先於抽象 8 為所有的引數進行有效性檢查 9 謹慎使用過載 10 使用0長度的陣列,而不是空...