A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© shangxin 中级黑马   /  2014-3-20 16:03  /  893 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 shangxin 于 2014-3-22 08:59 编辑

当我们往数据库中新增字段时,需要去更新所有或者历史数据,很容易导致数据丢失,如何解决或避免这种问题?

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

1 个回复

正序浏览
1. 解决此类问题的方法就是为数据库加锁,以防止多个组件读取数据,通过锁住事务所用的数据,能保证在打开锁之前,只有本事务才能访问数据。这样就避免了交叉存取的问题;
2. 由于锁将其他并发的事务排除在数据库更新之外,所以这会导致性能的严重下降。为了提高性能,事务将锁分为两种类型:只读锁和写入锁。只读锁是非独占的,多个并发的事务都恩那个获得只读锁;写入锁是独占锁,任意时间只能有一个事务可以获得写入锁。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马