zoukankan      html  css  js  c++  java
  • GUID和自增ID的比较_insert

    1.单条插入

     

    ------------------------------------------------------------------------------------------------

     

    --清空缓存

    DBCC FREEPROCCACHE  WITH NO_INFOMSGS

    DBCC FREESESSIONCACHE WITH NO_INFOMSGS

    DBCC FREESYSTEMCACHE('All') WITH NO_INFOMSGS

    DBCC DROPCLEANBUFFERS WITH NO_INFOMSGS

     

    SET NOCOUNT on

     

    DECLARE @费用ID int

    SET @费用ID =7001000

     

     

     

    CREATE TABLE #result

    (

        状态  varchar(20),

        [test(毫秒)] INT,

        [test_id(毫秒)] INT,

        [test_guid(毫秒)] INT,

        [test_id_guid(毫秒)] INT,

        [test_id_guid1(毫秒)] INT

    )

     

    DECLARE @start INT

    DECLARE @end   INT

    SET @start=1

    SET @end=100

     

    WHILE (@start<=@end)

     

    BEGIN      --循环开始

     

    DBCC FREEPROCCACHE

    DBCC FREESESSIONCACHE

    DBCC FREESYSTEMCACHE('All')

    DBCC DROPCLEANBUFFERS

     

         

    declare @d datetime      

    set @d = getdate()      

     

    insert    test(费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量)

    SELECT  @费用ID ,@费用ID,  15, 'YB',  'C1',  9 , '2011-05-05 00:00:00.000'   ,837   ,857   ,20

     

         

    declare @result int      

    select  @result = datediff(ms, @d, getdate())       

        

     

     

     

     

    declare @d1 datetime      

    set @d1 = getdate()      

     

    insert    test_id(费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量)

    SELECT  @费用ID ,@费用ID,  15, 'YB',  'C1',  9 , '2011-05-05 00:00:00.000'   ,837   ,857   ,20

     

     

    declare @result1 int      

    select  @result1 = datediff(ms, @d1, getdate())       

     

    declare @d2 datetime      

    set @d2 = getdate()      

     

    insert    test_guid(费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量)

    SELECT  @费用ID ,@费用ID,  15, 'YB',  'C1',  9 , '2011-05-05 00:00:00.000'   ,837   ,857   ,20

     

     

     

         

    declare @result2 int      

    select  @result2 = datediff(ms, @d2, getdate())       

     

    declare @d3 datetime      

    set @d3 = getdate()      

     

    insert    test_id_guid(费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量)

    SELECT  @费用ID ,@费用ID,  15, 'YB',  'C1',  9 , '2011-05-05 00:00:00.000'   ,837   ,857   ,20

     

     

    declare @result3 int      

    select  @result3 = datediff(ms, @d3, getdate())       

     

    declare @d4 datetime      

    set @d4 = getdate()      

     

    insert    test_id_guid1(费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量)

    SELECT  @费用ID ,@费用ID,  15, 'YB',  'C1',  9 , '2011-05-05 00:00:00.000'   ,837   ,857   ,20

     

         

    declare @result4 int      

    select  @result4 = datediff(ms, @d4, getdate())       

     

     

    INSERT INTO #result

    SELECT '正常',

           @result AS 'test(毫秒)',

           @result1 'test_id(毫秒)',

           @result2 'test_guid(毫秒)',

           @result3 'test_id_guid(毫秒)',

           @result4 'test_id_guid1(毫秒)'

     

    SET @费用ID=@费用ID+1

    SET @start=@start+1

     

    END      --循环结束

            

     

     

     

    SELECT *  FROM #result

    UNION ALL

    SELECT '最小值',

           min([test(毫秒)]),

           min([test_id(毫秒)]),

           min([test_guid(毫秒)]),

           min([test_id_guid(毫秒)]),

           min([test_id_guid1(毫秒)])

    FROM #result

    UNION  ALL

    SELECT '平均值',

           AVG([test(毫秒)]),

           AVG([test_id(毫秒)]),

           AVG([test_guid(毫秒)]),

           AVG([test_id_guid(毫秒)]),

           AVG([test_id_guid1(毫秒)])

    FROM #result

    UNION ALL

    SELECT '最大值',

           max([test(毫秒)]),

           max([test_id(毫秒)]),

           max([test_guid(毫秒)]),

           max([test_id_guid(毫秒)]),

           max([test_id_guid1(毫秒)])

    FROM #result

     

    --DROP TABLE #result

     ------------------------------------------------------------------------------------------------

     

     SELECT COUNT(*)  FROM #result  WHERE [test_id(毫秒)]>[test_guid(毫秒)]

     SELECT COUNT(*)  FROM #result  WHERE [test_id(毫秒)]>[test_id_guid(毫秒)]

     SELECT COUNT(*)  FROM #result  WHERE [test_id(毫秒)]>[test_id_guid1(毫秒)]

     SELECT COUNT(*)  FROM #result  WHERE [test_id(毫秒)]>[test_guid(毫秒)]

     

     

     

     状态 test(毫秒) test_id(毫秒) test_guid(毫秒) test_id_guid(毫秒) test_id_guid1(毫秒)
    正常 106 16 23 3 0
    正常 0 0 3 0 0
    正常 0 0 0 0 0
    正常 3 0 0 0 0
    正常 3 0 0 0 0
    正常 3 0 0 0 0
    正常 0 0 3 0 0
    正常 0 0 0 0 3
    正常 0 0 0 0 0
    正常 0 0 0 20 0
    正常 0 0 0 3 0
    正常 0 0 0 0 3
    正常 0 0 0 3 0
    正常 3 0 0 0 0
    正常 3 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 3 0 0 0 0
    正常 3 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 3 0 0 0 0
    正常 3 0 0 0 0
    正常 83 0 0 3 0
    正常 0 0 0 3 0
    正常 0 0 0 0 0
    正常 3 0 0 0 0
    正常 0 0 0 3 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 3 0 0
    正常 0 0 0 3 0
    正常 0 0 0 3 0
    正常 3 0 0 0 16
    正常 0 0 0 0 0
    正常 3 0 3 0 0
    正常 0 3 0 0 0
    正常 3 0 0 10 0
    正常 23 16 3 50 0
    正常 13 0 0 0 3
    正常 0 0 0 3 0
    正常 0 36 13 10 3
    正常 3 16 20 6 0
    正常 0 0 6 6 6
    正常 10 0 10 6 6
    正常 10 0 3 0 0
    正常 3 10 0 3 0
    正常 3 10 6 3 3
    正常 16 3 3 6 0
    正常 3 0 0 0 0
    正常 0 0 0 3 0
    正常 0 0 0 0 0
    正常 0 3 0 0 0
    正常 0 0 0 0 56
    正常 0 0 0 3 0
    正常 0 0 0 0 0
    正常 0 3 0 0 0
    正常 0 3 0 0 0
    正常 3 0 0 0 0
    正常 3 0 0 0 0
    正常 3 0 0 0 0
    正常 0 0 0 0 6
    正常 23 6 10 3 6
    正常 0 26 0 13 0
    正常 10 0 0 3 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 3
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 3 0 0 0
    正常 0 0 3 0 0
    正常 0 3 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 3 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 0 0 0 0 0
    正常 3 0 0 0 0
    正常 0 3 0 0 0
    正常 3 0 0 0 0
    正常 3 0 0 0 0
    正常 0 0 3 0 0
    正常 0 0 3 0 0
    正常 0 0 10 0 3
    最小值 0 0 0 0 0
    平均值 3 1 1 1 1
    最大值 106 36 23 50 56

     

    2.多条插入

     

     

     

    ------------------------------------------------------------------------------------------------

     

    --清空缓存

    DBCC FREEPROCCACHE  WITH NO_INFOMSGS

    DBCC FREESESSIONCACHE WITH NO_INFOMSGS

    DBCC FREESYSTEMCACHE('All') WITH NO_INFOMSGS

    DBCC DROPCLEANBUFFERS WITH NO_INFOMSGS

     

    SET NOCOUNT on

     

     

     

    CREATE TABLE #result

    (

        状态  varchar(20),

        [test(毫秒)] INT,

        [test_id(毫秒)] INT,

        [test_guid(毫秒)] INT,

        [test_id_guid(毫秒)] INT,

        [test_id_guid1(毫秒)] INT

    )

     

    DECLARE @start INT

    DECLARE @end   INT

    SET @start=1

    SET @end=20

     

    WHILE (@start<=@end)

     

    BEGIN      --循环开始

     

    DBCC FREEPROCCACHE

    DBCC FREESESSIONCACHE

    DBCC FREESYSTEMCACHE('All')

    DBCC DROPCLEANBUFFERS

     

         

    declare @d datetime      

    set @d = getdate()      

     

    insert    test(费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量)

    SELECT TOP 1000 费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量   from 抄表收费

     

         

    declare @result int      

    select  @result = datediff(ms, @d, getdate())       

        

     

     

     

     

    declare @d1 datetime      

    set @d1 = getdate()      

     

    insert    test_id(费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量)

    SELECT TOP 1000 费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量   from 抄表收费

     

     

    declare @result1 int      

    select  @result1 = datediff(ms, @d1, getdate())       

     

    declare @d2 datetime      

    set @d2 = getdate()      

     

    insert    test_guid(费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量)

    SELECT TOP 1000 费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量   from 抄表收费

     

     

     

         

    declare @result2 int      

    select  @result2 = datediff(ms, @d2, getdate())       

     

    declare @d3 datetime      

    set @d3 = getdate()      

     

    insert    test_id_guid(费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量)

    SELECT TOP 1000 费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量   from 抄表收费

     

     

    declare @result3 int      

    select  @result3 = datediff(ms, @d3, getdate())       

     

    declare @d4 datetime      

    set @d4 = getdate()      

     

    insert    test_id_guid1(费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量)

    SELECT TOP 1000 费用_id, 水表编码, 水表口径, 水表用途, 收费方式, 水表状态, 本期抄表日, 上期读数, 本期读数, 实抄水量   from 抄表收费

     

         

    declare @result4 int      

    select  @result4 = datediff(ms, @d4, getdate())       

     

     

    INSERT INTO #result

    SELECT '正常',

           @result AS 'test(毫秒)',

           @result1 'test_id(毫秒)',

           @result2 'test_guid(毫秒)',

           @result3 'test_id_guid(毫秒)',

           @result4 'test_id_guid1(毫秒)'

     

     

    SET @start=@start+1

     

    END      --循环结束

            

     

     

     

    SELECT *  FROM #result

    UNION ALL

    SELECT '最小值',

           min([test(毫秒)]),

           min([test_id(毫秒)]),

           min([test_guid(毫秒)]),

           min([test_id_guid(毫秒)]),

           min([test_id_guid1(毫秒)])

    FROM #result

    UNION  ALL

    SELECT '平均值',

           AVG([test(毫秒)]),

           AVG([test_id(毫秒)]),

           AVG([test_guid(毫秒)]),

           AVG([test_id_guid(毫秒)]),

           AVG([test_id_guid1(毫秒)])

    FROM #result

    UNION ALL

    SELECT '最大值',

           max([test(毫秒)]),

           max([test_id(毫秒)]),

           max([test_guid(毫秒)]),

           max([test_id_guid(毫秒)]),

           max([test_id_guid1(毫秒)])

    FROM #result

     

    --DROP TABLE #result

     ------------------------------------------------------------------------------------------------

     

     SELECT COUNT(*)  FROM #result  WHERE [test_id(毫秒)]>[test_guid(毫秒)]

     SELECT COUNT(*)  FROM #result  WHERE [test_id(毫秒)]>[test_id_guid(毫秒)]

     SELECT COUNT(*)  FROM #result  WHERE [test_id(毫秒)]>[test_id_guid1(毫秒)]

     SELECT COUNT(*)  FROM #result  WHERE [test_id(毫秒)]>[test_guid(毫秒)]

     

     

     

     

     状态 test(毫秒) test_id(毫秒) test_guid(毫秒) test_id_guid(毫秒) test_id_guid1(毫秒)
    正常 536 383 146 73 46
    正常 576 230 56 113 83
    正常 336 593 40 70 30
    正常 276 543 66 46 26
    正常 290 880 116 166 26
    正常 776 540 76 26 50
    正常 806 496 53 26 30
    正常 626 220 36 130 26
    正常 573 156 80 76 26
    正常 636 220 63 46 26
    正常 593 183 60 86 30
    正常 606 350 46 63 26
    正常 643 593 100 163 33
    正常 803 590 106 93 43
    正常 693 526 116 83 63
    正常 813 316 46 53 30
    正常 593 166 66 90 73
    正常 620 246 80 80 26
    正常 573 170 53 60 26
    正常 583 183 53 60 30
    正常 563 1246 256 130 176
    正常 900 630 120 510 40
    正常 610 126 100 43 43
    正常 623 200 83 30 30
    正常 586 210 100 46 36
    正常 553 183 53 76 33
    正常 593 246 56 76 36
    正常 590 366 173 180 33
    正常 1146 550 146 46 33
    正常 286 543 70 76 30
    正常 240 576 60 70 30
    正常 286 840 163 183 50
    正常 766 536 120 50 103
    正常 386 693 50 30 33
    正常 240 676 120 173 26
    正常 360 1016 136 153 103
    正常 233 426 63 30 486
    正常 253 476 60 60 63
    正常 396 583 150 53 93
    正常 266 393 53 30 476
    正常 563 153 53 63 30
    正常 283 526 50 26 30
    正常 646 373 146 173 43
    正常 460 1386 610 100 153
    正常 930 166 63 26 30
    正常 603 213 60 96 36
    正常 643 223 76 66 26
    正常 683 210 53 46 33
    正常 610 230 43 63 100
    正常 713 580 176 30 33
    最小值 233 126 36 26 26
    平均值 559 443 98 86 64
    最大值 1146 1386 610 510 486

     

     

     

    --索引创建

    CREATE   INDEX test1 ON test_id(id)

    CREATE   INDEX test2 ON test_guid(guidid)

     

    CREATE   INDEX test3 ON test_id_guid(id)

    CREATE   INDEX test4 ON test_id_guid(guidid)

    CREATE   INDEX test5 ON test_id_guid1(id)

    CREATE   INDEX test6 ON test_id_guid1(guidid)

    CREATE   INDEX test7 ON test_id_guid1(guidid1)

     

     


     

     

     

  • 相关阅读:
    最近吸收的html && CSS 知识
    Visual C++ 20111021
    递归变位数(练习)
    effective C++ 第五章
    二叉树的非递归遍历
    插入排序补充
    数的乘方,简单背包,组合
    在这个病毒猖獗的年代……
    元宵夜游城隍庙
    Cherish your work
  • 原文地址:https://www.cnblogs.com/qanholas/p/2170080.html
Copyright © 2011-2022 走看看