zoukankan      html  css  js  c++  java
  • 关于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,将查询、更新两种不同操作隔离
  • 相关阅读:
    八、多线程爬虫之糗事百科案例
    七、数据提取之JSON与JsonPATH
    Day_03
    六、CSS 选择器:BeautifulSoup4
    Day_01
    Day_02
    图解递归函数
    第十章 提权
    提权篇
    Webshell篇
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/3117693.html
Copyright © 2011-2022 走看看