<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

    主站蜘蛛池模板: 黑人大战亚洲人精品一区 | 亚洲综合av一区二区三区不卡 | 免费一本色道久久一区| 成年人免费网站在线观看| 日本免费一区二区三区最新| 亚洲精品偷拍视频免费观看 | 免费精品久久久久久中文字幕| a级毛片免费观看在线| 久久久久久久久久国产精品免费| 99国产精品免费视频观看| 9久9久女女免费精品视频在线观看| 午夜免费福利在线观看| 国产L精品国产亚洲区久久| 亚洲一区二区三区夜色| 亚洲偷自拍另类图片二区| v片免费在线观看| 99re这里有免费视频精品| 妞干网在线免费观看| 久久亚洲精品无码播放| 亚洲最大的视频网站| 激情小说亚洲图片| 男人j进入女人j内部免费网站 | 操美女视频免费网站| 国产亚洲精久久久久久无码AV| 久久精品a亚洲国产v高清不卡| 亚洲成av人片在线天堂无| 97国免费在线视频| 扒开双腿猛进入爽爽免费视频 | 亚洲一区二区三区久久| 日韩毛片免费一二三| 久久99国产综合精品免费| 国产资源免费观看| 亚洲AV日韩精品久久久久| 亚洲成在人线在线播放无码| 大地资源中文在线观看免费版| 24小时免费直播在线观看| 中文字幕专区在线亚洲| 一本色道久久综合亚洲精品蜜桃冫| 一个人看的免费视频www在线高清动漫 | 亚洲人成网站色7799| 97人妻精品全国免费视频|