您的位置:首页 > 其它

【同步并发】入门小结

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

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

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

解决:设置隔离级别。

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

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

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

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

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

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

读写分离

缓存

负载均衡
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: