中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL觸發器的作用是什么

發布時間:2021-06-25 14:59:43 來源:億速云 閱讀:701 作者:Leah 欄目:數據庫

本篇文章為大家展示了SQL觸發器的作用是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

觸發器的作用

  1、安全性,可以基于數據庫的值使用戶具有操作數據庫的某種權利。

  2、審計,可以跟蹤用戶對數據庫的操作。

  3、實現復雜的非標準的數據庫相關完整性規則,觸發器可以對數據庫中相關的表進行連環更新。

  4、觸發器能夠拒絕或回退那些破壞相關完整性的變化,取消試圖進行數據更新的事務。當插入一個與其主健不匹配的外部鍵時,這種觸發器會起作用。

  5、同步實時地復制表中的數據

  6、自動計算數據值,如果數據的值達到了一定的要求,則進行特定的處理。

  mysql中死鎖:是指兩個或兩個以上的進程在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去.此時稱系統處于死鎖狀態或系統產生了死鎖,這些永遠在互相等待的進程稱為死鎖進程。表級鎖不會產生死鎖.所以解決死鎖主要還是針對于最常用的InnoDB。

  死鎖的關鍵在于:兩個(或以上)的Session加鎖的順序不一致。

  那么對應的解決死鎖問題的關鍵就是:讓不同的session加鎖有次序

  

mysql中死鎖案例

  需求:將投資的錢拆成幾份隨機分配給借款人。

  起初業務程序思路是這樣的:

  投資人投資后,將金額隨機分為幾份,然后隨機從借款人表里面選幾個,然后通過一條條select for update 去更新借款人表里面的余額等。

  例如兩個用戶同時投資,A用戶金額隨機分為2份,分給借款人1,2

  B用戶金額隨機分為2份,分給借款人2,1

  由于加鎖的順序不一樣,死鎖當然很快就出現了。

  對于這個問題的改進很簡單,直接把所有分配到的借款人直接一次鎖住就行了。

  Select * from xxx where id in (xx,xx,xx) for update

  在in里面的列表值mysql是會自動從小到大排序,加鎖也是一條條從小到大加的鎖

上述內容就是SQL觸發器的作用是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

惠安县| 丰顺县| 雅江县| 抚松县| 五莲县| 太仆寺旗| 封丘县| 星子县| 临沭县| 峡江县| 富阳市| 麟游县| 临猗县| 平安县| 长泰县| 彭州市| 灌云县| 乌鲁木齐市| 文登市| 贵港市| 德格县| 平泉县| 延长县| 清镇市| 昭觉县| 双桥区| 英山县| 马鞍山市| 巢湖市| 繁峙县| 厦门市| 武清区| 惠水县| 永修县| 裕民县| 门源| 昭苏县| 怀集县| 昌江| 铜梁县| 天镇县|