关于SQL SERVER高并发访问的解决办法


问题:
后台系统需要连接SQL SERVER,瞬时数据操作可能会很大,如同时有好几万数据要插入数据库,但在插入数据的同时另外的线程可能还要访问本数据库,插入数据的操作优先级比较低,其他的访问需要即时返回,想了很久不知道该怎么解决,望高手赐教了。
回答:
1. 提高服务器硬件配置 
2. 使用 replication 之类的同步技术, 将频繁操作的表同步为多份, 将操作分散到这些同步的表中 
3. 对于数据查询, 尽量使用 READ UNCOMMITTED 事务隔离级别, 以减少锁的开销

===

可以使用快照隔离级别

===

--查询时,使用
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
--
with(nolock)
--并且建好索引,尽量减少耗时查询

--多个服务器分担压力
--提高硬件性能这是最耗成本但最有效的方法了

===

查询时候不上锁 

select *from tb(nolock) 

使用镜像复制等 添加一些只读的数据库!

===

除了以上的方法之外 
2005还可以采用row-versiong based的snapshot 事务隔离层级。 
建立snapshot database,将查询、更新两种不同操作隔离

 

转载于:https://www.cnblogs.com/anbylau2130/archive/2013/06/04/3117693.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值