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

 Ask:

后台系统需要连接SQL SERVER,瞬时数据操作可能会很大,如同时有好几万数据要插入数据库,但在插入数据的同时另外的线程可能还要访问本数据库,插入数据的操作优先级比较低,其他的访问需要即时返回,想了很久不知道该怎么解决,望高手赐教了。

Answers:

 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,将查询、更新两种不同操作隔离

 

===========================================================

以上是收藏的帖子,真正没有实践过,请有过这种项目经历的人谈一谈想法与经验,谢谢^^

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值