关于SQL SERVER高并发访问的解决办法
2010-06-29 18:29
381 查看
关于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,将查询、更新两种不同操作隔离
问题:
后台系统需要连接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,将查询、更新两种不同操作隔离
相关文章推荐
- 关于SQL SERVER高并发访问的解决办法
- 关于SQL SERVER高并发访问的解决办法
- 关于SQL SERVER高并发访问的解决办法
- 关于SQL SERVER高并发访问的解决办法
- 关于大量用户并发访问解决办法
- 阿里云ECS关于IIS部署网站与Sql Server 不能实现外网访问的解决办法
- 关于SQL Server 2008 安装提示"重新启动计算机失败"的解决办法
- 关于SQL SERVER 2008 R2配置管理器出现“远程过程调用失败”【0x800706be】的解决办法(
- 关于“解决实现注册用户后,自动具备访问网站的权限的问题”文章中配置出现找不到角色的问题的解决办法
- 关于sql server 代理(已禁用代理xp)解决办法
- SQL Server 2008R2 数据库出现“可疑”导致无法访问解决办法
- 系统错误 5。拒绝访问。关于Mysql访问权限问题的解决办法
- 关于SQL Server下无限多级别分类查询解决办法
- [DBNETLIB][ConnectionOpen(connect()).]SQL Server 不存在或拒绝访问的解决办法
- 访问SQL Server的时候,无法登陆 的解决办法
- 关于SQL SERVER 2000控制台不能正常启动的解决办法
- 关于SQL SERVER 2008安装过程中遇到的个小问题及解决办法
- 关于无法访问LocalHost的一种另类情况的解决办法
- 关于外网如何访问内网资源的解决办法
- SQL Server 2008R2 数据库出现“可疑”导致无法访问解决办法