推荐热点事件
mysql---Innodb加锁原则:Record Lock_Gap Lock_Next-Key Lock
Record Lock最实在,它就认准主键或者唯一索引这条死理。好比你去银行取钱,柜员核对完身份证就直接锁定你的账户,别人想动你的存款门儿都没有。这种锁干脆利落,不玩虚的,专治各种并发修改的疑难杂症。
Gap Lock像个尽职的保安,专门盯着索引记录之间的空白地带。比如排队买限量球鞋,明明3号到5号位置没人,它也不让插队。这种锁防的就是有人钻空子搞幻读,把数据库当自家后花园随便溜达。不过普通查询它都睁只眼闭只眼,只有碰到更新操作才会亮红牌。
Next-Key Lock最较真,它把Record Lock和Gap Lock揉巴揉巴攒成个组合拳。就像查户口似的,既要验明正身,还得查查左邻右舍。在可重复读隔离级别下,这招专治各种不服,管你是想改数据还是插数据,统统先过它这关。虽然开销大了点,但为了数据 consistency,这钱花得值。
锁的力度全看你怎么用索引。走主键查询就像VIP通道,锁起来轻车熟路;用普通索引得像过安检,前后包裹都得扫;没索引那就惨了,直接全表封锁,跟节假日的高速公路似的。聪明人都知道,建索引不能抠门,该花的钱一分都不能省。
本文来自投稿,不代表本站立场,如若转载,请注明出处:http://www.carzhishi.com/rdsj/14108.html