国产探花免费观看_亚洲丰满少妇自慰呻吟_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>