【同步并发】入门小结

脏数据:可以理解为临时值。当事务A更新了数据,但是还未提交时事务B进行了读取。当事务A出问题进行回滚回原值,那么事务B已经读取的就是一个脏数据。

不可重复读:理解为在同一事务内的两次相同查询返回不同的值。导致原因是这两次查询中间被另一个事务修改了数据。重点修改。

幻读:当事务不是独立执行时发生的现象。当事务A对表中所有数据进行了修改或读取。同时事务B在表中插入数据。那么会在事务A后感觉还有数据没有被修改或读取到的幻觉。重点新增或删除。

解决:设置隔离级别。


数据层面的锁:悲观锁+乐观锁

悲观锁:sql+for update。锁定了所有符合条件的语句。

乐观锁:添加version标志,操作时比较version,成功后更新version。


数据库拆分:水平拆分+垂直拆分

水平拆分:表结构还是相同的,但是数量减少了,比如500w的表平均拆分10张的话,每张表就只有50w。拆分方式:顺序,hash取模,建立映射关系。

垂直拆分:将表结构拆分。如将一个10个字段的表拆成两张5个字段的表。


读写分离


缓存


负载均衡

发布了19 篇原创文章 · 获赞 3 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章