<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    love fish大鵬一曰同風起,扶搖直上九萬里

    常用鏈接

    統計

    積分與排名

    friends

    link

    最新評論

    SQL各種寫法的效率問題

    1)一次插入多條數據時:
    CREATE TABLE tb(ID int, 名稱 NVARCHAR(30), 備注 NVARCHAR(1000))
    INSERT tb?? SELECT 1,'DDD',1
    UNION? ALL??????? SELECT 1,'5100','D'
    UNION? ALL??????? SELECT 1,'5200','E'

    也可以這樣:
    CREATE TABLE tb1(ID int, 名稱 NVARCHAR(30), 備注 NVARCHAR(1000))
    INSERT TB1 (ID,名稱,備注)VALUES(1,'DDD',1)
    INSERT TB1 (ID,名稱,備注)VALUES(1,'5100','D')
    INSERT TB1 (ID,名稱,備注)VALUES(1,'5200','E')
    _________________________________
    上面兩種方法,哪種方法效率高?

    (2)賦值時:
    SELECT @a=N'aa'
    SET @a=N'aa'
    _________________________________
    上面兩種方法,哪種方法效率高?

    (3)取前幾條數據時
    set ROWCOUNT 2 select * from tb order by fd
    select Top 2 * from tb order by fd
    _________________________________
    上面兩種方法,哪種方法效率高?

    (4)條件判斷時
    ?where 0<(select count(*) from tb where ……)
    ?where exists(select * from tb where ……)
    _________________________________
    上面兩種方法,哪種方法效率高?

    (5)NULLIF的使用----->同理它的反函數ISNULL的使用
    update tb set fd=case when fd=1 then null else fd end
    update tb set fd=nullif(fd,1)
    _________________________________
    上面兩種方法,哪種方法效率高?

    (6)從字符串中取子字符串時
    substring('abcdefg',1,3)
    left('abcderg',3)_
    ________________________________
    上面兩種方法,哪種方法效率高?

    (7)EXCEPT和Not in的區別?

    (8)INTERSECT和UNION的區別?



    (1)一次插入多條數據時:

    第1種好一些, 但也得有個, 因為第1種的union all是做為一個語句整體, 查詢優化器會嘗試做優化, 同時, 也要先算出這個結果再插入的.

    2. 如果是單個賦值, 沒有什么好比較的話.
    不過, 如果是為多個變量賦值, 我測試過, SELECT 一次性賦值, 比用SET 逐個賦值效率好.
    3. SET ROWCOUNT和TOP 是一樣的, 包括執行的計劃等都是一樣的

    4. 這個一般是exists快, 當然, 具體還要看你后面的子查詢的條件, 是否會引用外層查詢中的對象的列.
    ?? exists檢查到有值就返回, 而且不返回結果集, count需要統計出所有滿足條件的, 再返回一個結果集, 所以一般情況下exists快.

    5. 應該是一樣的

    6. 基本上是一樣的
    7. except會去重復, not in 不會(除非你在select中顯式指定)
    ?? except用于比較的列是所有列, 除非寫子查詢限制列, not in 沒有這種情況
    8. intersect是兩個查詢都有的非重復值(交集), union是兩個查詢結果的所有不重復值(并集)

    posted on 2007-03-19 14:18 liaojiyong 閱讀(878) 評論(0)  編輯  收藏 所屬分類: MSSQL

    主站蜘蛛池模板: 国产成人在线观看免费网站 | 亚洲高清视频在线观看| 精品在线免费视频| 免费看国产精品麻豆| 国内成人精品亚洲日本语音| 国产中文字幕免费| 免费高清A级毛片在线播放| 亚洲国产一区明星换脸| 国产久爱免费精品视频 | 国产zzjjzzjj视频全免费| 亚洲AV香蕉一区区二区三区| 国产无遮挡又黄又爽免费视频| 精品国产亚洲AV麻豆 | jizz免费在线观看| 亚洲色婷婷一区二区三区| 国内精品一级毛片免费看| 久久亚洲日韩看片无码| 国产精品视频永久免费播放| 亚洲AV无码一区二区三区牲色| 亚洲国产成人乱码精品女人久久久不卡| jizz免费观看| 亚洲人成在线电影| 国产桃色在线成免费视频 | 在线观看特色大片免费网站| 亚洲人成网站影音先锋播放| 曰批全过程免费视频在线观看| 亚洲精品GV天堂无码男同| 亚洲色婷婷综合开心网| 久久永久免费人妻精品下载| 亚洲综合小说另类图片动图 | 区久久AAA片69亚洲| 99精品视频在线视频免费观看| 亚洲中文精品久久久久久不卡| 一本色道久久88亚洲综合| 无码日韩精品一区二区免费暖暖| 中文字幕乱码亚洲无线三区| 国产亚洲精品不卡在线| 无码日韩精品一区二区免费| 日韩成人毛片高清视频免费看| 激情内射亚洲一区二区三区| 国产精品久久久久影院免费|