日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

關于SQL SERVER高并發解決方案

系統 2174 0
原文: 關于SQL SERVER高并發解決方案

  現在大家都比較關心的問題就是在多用戶高并發的情況下,如何開發系統,這對我們程序員來說,確實是值得研究,最近找工作面試時也經常被問到,其實我早有去關心和了解這類問題,但一直沒有總結一下,導致面試時無法很完整全面的回答,所以今天我專門總結概況了一下關于SQL SERVER高并發解決方案,希望能幫助大家,若有不對之外,還請及時告之,謝謝!

SQL SERVER高并發解決方案主要是從以下幾個方面:

1.SQL語句優化:

  A.盡可能的精確查詢條件及查詢字段,縮小查詢范圍(包括使用分頁查詢);

  B.查詢條件中盡可能少用:like,(not)in,(not)is null,order by,distinct,count(*),!=,<>;

  C.不要對查詢的字段進行函數運算,

    如:aa. substring('aa123',1,2)='aa',而應該是:'aa123' like 'aa%'; ---應用到了索引

      bb. 'aa'+'123'='aa123',而應該是:'aa'=left('aa123',2)

  D.判斷數據存在,不要使用TOP 1,而應該是:EXITS

  E.對于復雜SQL查詢,可直接使用SQL存儲過程或建立視圖(視圖不可太復雜);

  F.盡可能的少用游標,觸發器;

2.表設計優化:

  A.縱向分割表設計,將表按照某種原則(可按照字段讀寫頻率來設計)設計成相對應的幾個表,之間采用主(外)鍵關聯查詢;

  B.橫向分割表設計,將表中的數據按照使用價值(比如:只用只用到近3個月的有效數據)來進行數據轉移備份,以減少表的數據量;

  C.表數據物理存放分區設計,將表中的數據按照某種規則建立物理表分區來存儲,以降低硬盤的IO負擔;

  D.建立適當的索引(聚集索引與非聚集索引);

3.事務設置優化:

  事務隔離級別有:(隔離級別作用于事務中,而鎖作用于每條SQL語句上)

隔離級別

臟讀

不可重復讀取

幻像

說明

?產生或等同對應的鎖

未提交讀 (read?uncommitted)

如果其他事務更新,不管是否提交,立即執行

? NOLOCK

提交讀 (read?committed 默認 )

讀取提交過的數據。如果其他事務更新沒提交,則等待

? HOLDLOCK

可重復讀 (repeatable?read)

查詢期間,不允許其他事務 update

? HOLDLOCK

可串行讀 (serializable)

查詢期間,不允許其他事務 insert delet

? HOLDLOCK

    A.事務隔離原則: 共享讀,排它寫 ,即表示:在執行查詢時,若對數據一致性要求很高時,可采用 可重復讀 (repeatable?read) 隔離級別,若沒有嚴格要求,則可建議使用 未提交讀 (read?uncommitted)隔離級別;

4.服務器硬件優化:

  A.服務器內存,硬盤等核心硬件性能當然越強越好;

  B.購買多臺服務器并建立集群, 以實現利用多個計算機進行 并行計算 從而獲得很高的計算速度,也可以用多個計算機做備份,從而使得任何一個機器壞了整個系統還是能正常運行;

C.在多臺服務器建立DB鏡像同步,并實現讀寫分離,即:除了指定的一臺或幾臺服務器具有允許更新以外,其余的服務器均只作為數據鏡像同步,不能更新,僅供查詢;

關于SQL SERVER高并發解決方案


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 当涂县| 合山市| 阿图什市| 于田县| 菏泽市| 偃师市| 隆安县| 滁州市| 富平县| 甘洛县| 原平市| 德安县| 上高县| 大宁县| 赫章县| 西和县| 兴国县| 甘肃省| 上饶市| 独山县| 清苑县| 光泽县| 汝南县| 金塔县| 历史| 东宁县| 寿宁县| 珲春市| 新余市| 马山县| 博爱县| 潮安县| 山阳县| 藁城市| 黔西县| 华阴市| 虞城县| 吴旗县| 洞头县| 屏山县| 泰兴市|