日期:2014-05-17  浏览次数:20531 次

数据量过大时 使用事务会锁住表 其他用户无法操作 求解决方案
1.用户多,最少百万级
2.数据量庞大,百万级数据量搜索
3.操作多,同时或时间很短出现两个用户对表操作,另一个用户无法操作
4.在一个用户执行事务只要实现其他用户对表的插入和更新就行



5.我恨啊 CSDN有Bug 刚刚我在发帖的时候 选其他数据库 [其他数据库开发/MySQL/Postgresql] 发的帖子看不成 老是报 404
可是我的100分就这样被扣了 没分了 相信大家不会介意的 谢谢


------解决方案--------------------
什么数据库?
如果是新增,要保留事务的短小

Oracle和SQL05以上版本,读表时可用快照隔离,不受新增的影响
------解决方案--------------------
分开负载,把基本上只读的数据(如历史数据)分开表存放,或者使用分区,对一些查询,可以权衡使用表锁来获取更快的速度,使得锁持有时间更短。
------解决方案--------------------
探讨
1.用户多,最少百万级
2.数据量庞大,百万级数据量搜索
3.操作多,同时或时间很短出现两个用户对表操作,另一个用户无法操作
4.在一个用户执行事务只要实现其他用户对表的插入和更新就行



5.我恨啊 CSDN有Bug 刚刚我在发帖的时候 选其他数据库 [其他数据库开发/MySQL/Postgresql] 发的帖子看不成 老是报 404
可是我的100分就这样被扣了 没分了 ……

------解决方案--------------------
分区在物理上是分开的,但是从sqlserver看来是一个表,2005以上才支持分区。在微软sqlserver2012广州发布会上,他们的DBA说过,给客户的意见是:3000万数据以上就要分区