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

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

posted on 2011-08-19 16:58 SkyDream 阅读(2101) 评论(0)  编辑  收藏 所属分类: sql优化

<2011年8月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜