您好,登錄后才能下訂單哦!
在MySQL 的MyISAM類型數據表中,并不支持COMMIT(提交)和ROLLBACK(回滾)命令。當用戶對數據庫執行插入、刪除、更新等操作時,這些變化的數據都被立刻保存在磁盤中。這樣,在多用戶環境中,會導致諸多問題,為了避免同一時間有多個用戶對數據庫中指定表進行操作。可以應用表鎖定來避免在用戶操作數據表過程中受到干擾。當且僅當該用戶釋放表的操作鎖定后,其他用戶才可以訪問這些修改后的數據表。
實現偽事務的一般步驟如下:
對數據庫中的數據表進行鎖定操作,可以對多個表做不同的方式鎖定
執行數據庫操作,向鎖定的數據表中執行添加、刪除、修改操等操作
釋放鎖定的數據表,以便讓正在隊列中等待查看或操作的其他用戶可以瀏覽數據表中的數據或對操作表執行各種數據的操作。
應用不同孤立級的事務可能會對系統造成一系列影響,采用不同孤立級處理事務,可能會對系統穩定性和安全性等諸多因素造成影響。另外,有些數據庫操作中,不需要應用事務處理,則用戶在選擇數據表類型時,需要選擇合適的數據表類型。所以,在選擇表類型時,應該考慮數據表具有完善的功能,且高效的執行前提下,也不會對系統增加額外的負擔。
應用小事務的意義在于:保證每個事務不會在執行前等待很長時間,從而避免各個事務因為互相等待而導致系統的性能大幅度下降。
因為事務的性能與其對服務器產生的負載成反比,即當事務孤立級越高,其性能越低,但是其安全性也越高。
死鎖,即當兩個或者多個處于不同序列的用戶打算同時更新某相同的數據庫時,因互相等待對方釋放權限而導致雙方一直處于等待狀態。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。