?
?
innoDB默認隔離級別
mysql> SELECT @@tx_isolation;
+-----------------+
| @@tx_isolation |
+-----------------+
| REPEATABLE-READ |
+-----------------+
redis阻塞隊列、?
兩個事務同時更新一條數據
右圖第二個事務的update增加行鎖(表中id有索引), 在未提交之前,左圖第一個事務update操作會進入阻塞狀態, 左圖中仍然可以進行select
mysql存儲過程是什么。右圖第二個事務提交之后, 第一個事務會執行update并返回結果,但是還沒有提交,? 此時右圖的查詢結果是第二個事務提交的值
?
然后左圖第一個事務也提交, 會覆蓋右圖第二個事務的值。左圖操作的是右圖變更前的數據,這個在并發時是不正常的
mysql和sql的區別。
?
?
?
以下哪些線程同步鎖可以為遞歸鎖?更新數據庫的隔離級別為序列化
開啟兩個事務, 右圖進行update操作, 左圖事務的select操作會進入阻塞操作
右圖提交之后, 左圖事務select返回右圖提交之后的結果
數據庫隔離級別中的讀提交可以避免,
?
此時左圖再update commit, 會覆蓋右圖的結果。左圖操作的是右圖變更后的數據, 這個在并發時是正常的.
?
mysql基本使用。總結:?
可重復讀時,有幻讀的問題, 使用行寫鎖
序列化時,? select會阻塞,并發性能極低 == 沒有并發, 使用行讀鎖
?
mysql數據庫編程?使用索引select update時,會在行上加鎖(具體哪種鎖,讀,寫?),
不能使用索引時在表上加鎖, 表鎖也會極大的影響并發性能
?索引可以提高并發的原因:1.sql查詢的數據量小,sql響應快 2.行鎖,提高并發,不影響其他線程
?
mysql。TODO:: 分布式最終一致性,為什么可以不使用事務?