減少排序的發生:
排序是資料庫中執行頻度比較大的一種操作,根據排序執行的範圍不同又可以分為內排序和外排序。我們希望資料庫中的排序操作的數量能夠被盡量的減少同時每個排序的時間能夠縮短。
減少死鎖的發生:
在oracle資料庫中大量的資料庫的鎖都是行級鎖,不同的會話間競爭同一條記錄的可能性較小,同時oracle資料庫中提供了自動的死鎖檢測機制來避免資料庫的死鎖,保證資料庫系統的可用性。因此一般情況下應用系統不需要特殊的設計來解決系統的死鎖問題,但是在下列情況下系統可能出現死鎖:
1、表a上的列n上有乙個索引,表b上的列m使用a上的列n作為外來鍵,然後表a的列n上的索引被刪除,此時更新表b上列m將造成對錶a的表級鎖,會導致死鎖的發生。
2、應用大量的使用select ……for update語句造成系統不必要的加鎖。 對於第一種情況要對出現死鎖的相關表進行檢查,確認是否相關索引被錯誤的刪除。對於第二種情況要修改應用,避免對資料的不必要的加鎖。
怎麼減少錯誤的發生
錯誤,我們暫且僅對軟體開發而言。錯誤的類別,暫且僅考慮介面錯誤和實現錯誤。比如在一段公路入口有巨大的標識牌,上面寫著 前方道路,靠左行,紅燈行,綠燈停。這個大家可能覺得很荒謬,然而類似的事情在軟體開發裡面卻層出不窮,生產方認為自己已經在文件中清楚地說明了用法和用途,然而他卻沒有意識到這與使用方的常識...
如何減少SQL Server死鎖發生的情況
死鎖是指在某組資源中,兩個或兩個以上的執行緒在執行過程中,在爭奪某一資源時而造成互相等待的現象,若無外力的作用下,它們都將無法推進下去,死時就可能會產生死鎖,這些永遠在互相等待的程序稱為死鎖執行緒。死鎖是指在某組資源中,兩個或兩個以上的執行緒在執行過程中,在爭奪某一資源時而造成互相等待的現象,若無外...
如何減少SQLServer死鎖發生的情況
死鎖是指在某組資源中,兩個或兩個以上的執行緒在執行過程中,在爭奪某一資源時而造成互相等待的現象,若無外力的作用下,它們都將無法推進下去,死時就可能會產生死鎖,這些永遠在互相等待的程序稱為死鎖執行緒。簡單的說,程序a等待程序b釋放他的資源,b又等待a釋放他的資源,這樣互相等待就形成死鎖。如在資料庫中,...