国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

關(guān)于SQL SERVER高并發(fā)解決方案

2024-08-31 00:55:57
字體:
供稿:網(wǎng)友
關(guān)于SQL SERVER高并發(fā)解決方案

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

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

1.SQL語句優(yōu)化:

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

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

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

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

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

  D.判斷數(shù)據(jù)存在,不要使用TOP 1,而應(yīng)該是:EXITS

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

  F.盡可能的少用游標,觸發(fā)器;

2.表設(shè)計優(yōu)化:

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

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

  C.表數(shù)據(jù)物理存放分區(qū)設(shè)計,將表中的數(shù)據(jù)按照某種規(guī)則建立物理表分區(qū)來存儲,以降低硬盤的IO負擔;

  D.建立適當?shù)乃饕ň奂饕c非聚集索引);

3.事務(wù)設(shè)置優(yōu)化:

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

隔離級別

臟讀

不可重復(fù)讀取

幻像

說明

產(chǎn)生或等同對應(yīng)的鎖

未提交讀(readuncommitted)

如果其他事務(wù)更新,不管是否提交,立即執(zhí)行

NOLOCK

提交讀(readcommitted默認)

讀取提交過的數(shù)據(jù)。如果其他事務(wù)更新沒提交,則等待

HOLDLOCK

可重復(fù)讀(repeatableread)

查詢期間,不允許其他事務(wù)update

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 治县。| 蒙自县| 沛县| 方山县| 陇川县| 基隆市| 上杭县| 塘沽区| 驻马店市| 庆阳市| 安泽县| 辰溪县| 山阳县| 历史| 金秀| 雷波县| 灵璧县| 板桥市| 安庆市| 通海县| 长寿区| 五指山市| 湖口县| 乌苏市| 霍邱县| 平舆县| 绥宁县| 双江| 福州市| 望城县| 舒城县| 抚顺县| 灌云县| 繁昌县| 信丰县| 县级市| 九江市| 张家港市| 绥阳县| 酒泉市| 无棣县|
    1. <td id="y8jab"></td>