1.事務的四大特性
原子性(Atomicity,或稱不可分割性)、一致性(Consistency)、隔離性(Isolation,又稱獨立性)、
持久性(Durability)。
原子性:就是操作的純粹性,一個事務中的所有操作成功或失敗。即事務操作的純粹性,最小單元的完整性。
一致性:事務操作預期和結果保持一致。
隔離性:就是一種防止事務污染的一種機制。
持久性:數據一旦提交,寫入磁盤。
鎖的作用:資源競爭、防止污染(數據鎖,程序鎖)
事務的隔離級別作用:避免數據、程序、變量出現一定的污染現象。
2.mysql的行鎖和表鎖
例如我們的表是這樣的(id是主鍵索引),模擬現象:非索引更新會由表鎖升級爲行鎖
分別執行
1.執行更新操作,事務未提交,
set autocommit=0;
update t_user t set password='789' where t.username='2'
2.測試其他事務性操作,發現,一直處於等待狀態,說表發生了表鎖,
insert into t_user (id,username,password) VALUES('12','123','456')