事物的併發問題

2021-08-16 01:55:41 字數 1007 閱讀 4462

事物的併發問題:

髒讀:例如事物沒有執行完,就讀。比如  轉賬一半,讀,rollback();--最可怕

重複讀:兩次讀取的不一致。即讀取第二次,事物更新

幻讀(虛讀):對同一張表兩次查詢不一致,因為另一事物插入記錄

四大隔離級別:

serializable (序列化)

不會出現任何併發問題,因為就是序列。 效能最差

repeatable read(可重複讀)(mysql 預設)

可處理髒讀和不可重複讀

效能比序列話好

read committed(讀已提交資料)(orcle預設)

防止髒讀,不可處理 不可重複讀,不可處理幻讀

效能比可重複度好

read uncommitted(讀未提交資料)

什麼都處理不了

效能最好,堅決不用;

三種併發問題,四種隔離級別

mysql :

如何檢視資料庫的隔離級別:

select @@tx_isolation

如何設定資料隔離級別:

set transaction isolationlevel(4-1);

jdbc:

如何設定隔離級別:

conn.settransationisolation(int leve);

connection.transaction_read_uncommitted    效能最好,不處理任何問題,不用

connection.transaction_read_committed     讀已提交  只處理髒讀, orcale 預設

connection.transaction_repeatable_read      可讀重複性 可處理髒讀與重複讀  mysql預設

connection.transaction_serializable       任何併發問題都不會出現   效能最差

如何獲取隔離級別:

解決併發問題

一.使用redis鎖 智慧型雲 工單系統 搶單 工單id鎖key public static final string cloud live gain order lock orderid cloud live gain order lock orderid component public cla...

Connection併發問題

connection lock getconnection lock.setautocommit false lock.createstatement execute select from zhaojianyong for update final connection connection ge...

hive併發問題

hive 併發模型 使用案例 併發支援 是資料庫的必須,而且他們的使用案例很好懂。至少,我們要盡可能支援併發讀和寫。新增幾個發現當前已經鎖定的鎖,是有用的。這裡沒有乙個直接的需求新增乙個api顯式獲取鎖,所以,所有鎖都是隱式獲取的。hive定義一下模式的鎖 注意不需要意向鎖 共享 s 排他 x 見名...