數據庫默認隔離級別:
- mysql ——> repeatable
- oracle,sql server ——> read commited
mysql binlog的格式三種:
- statement:記錄的是修改SQL語句
- row:記錄的是每行實際數據的變更
- mixed:statement和row模式的混合
爲什麼mysql用的是repeatable而不是read committed:
- 在 5.0之前只有statement一種格式,而主從複製存在了大量的不一致,故選用repeatable。
爲什麼默認的隔離級別都會選用read commited :
- repeatable存在間隙鎖會使死鎖的概率增大,在RR隔離級別下,條件列未命中索引會鎖表!而在RC隔離級別下,只鎖行。
在RC級用別下,主從複製用什麼binlog格式:
- row格式,是基於行的複製!
具體參見博客:https://www.cnblogs.com/shoshana-kong/p/10516404.html