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 =4406668

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=10

WHILE (@start<=@end)

BEGIN      --循环开始

DBCC FREEPROCCACHE

DBCC FREESESSIONCACHE

DBCC FREESYSTEMCACHE('All')

DBCC DROPCLEANBUFFERS

declare @d datetime

set @d = getdate()

delete

FROM   test

WHERE 费用_ID  between @费用ID and @费用ID+100

declare @result int

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

declare @d1 datetime

set @d1 = getdate()

delete

FROM   test_ID

WHERE 费用_ID  between @费用ID and @费用ID+100

declare @result1 int

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

declare @d2 datetime

set @d2 = getdate()

delete

FROM   test_guid

WHERE 费用_ID  between @费用ID and @费用ID+100

declare @result2 int

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

declare @d3 datetime

set @d3 = getdate()

delete

FROM   test_id_guid

WHERE 费用_ID  between @费用ID and @费用ID+100

declare @result3 int

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

declare @d4 datetime

set @d4 = getdate()

delete

FROM   test_id_guid1

WHERE 费用_ID  between @费用ID and @费用ID+100

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+100

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(毫秒)]

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

DECLARE @费用ID int

SET @费用ID =4407669

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()

delete

FROM   test

WHERE 费用_ID= @费用ID

declare @result int

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

declare @d1 datetime

set @d1 = getdate()

delete

FROM   test_ID

WHERE 费用_ID= @费用ID

declare @result1 int

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

declare @d2 datetime

set @d2 = getdate()

delete

FROM   test_guid

WHERE 费用_ID= @费用ID

declare @result2 int

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

declare @d3 datetime

set @d3 = getdate()

delete

FROM   test_id_guid

WHERE 费用_ID= @费用ID

declare @result3 int

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

declare @d4 datetime

set @d4 = getdate()

delete

FROM   test_id_guid1

WHERE 费用_ID= @费用ID

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(毫秒)]

--创建索引

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)

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

--清空缓存

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 =4406668

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=10

WHILE (@start<=@end)

BEGIN      --循环开始

DBCC FREEPROCCACHE

DBCC FREESESSIONCACHE

DBCC FREESYSTEMCACHE('All')

DBCC DROPCLEANBUFFERS

declare @d datetime

set @d = getdate()

delete

FROM   test

WHERE 费用_ID  between @费用ID and @费用ID+100

declare @result int

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

declare @d1 datetime

set @d1 = getdate()

delete

FROM   test_ID

WHERE 费用_ID  between @费用ID and @费用ID+100

declare @result1 int

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

declare @d2 datetime

set @d2 = getdate()

delete

FROM   test_guid

WHERE 费用_ID  between @费用ID and @费用ID+100

declare @result2 int

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

declare @d3 datetime

set @d3 = getdate()

delete

FROM   test_id_guid

WHERE 费用_ID  between @费用ID and @费用ID+100

declare @result3 int

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

declare @d4 datetime

set @d4 = getdate()

delete

FROM   test_id_guid1

WHERE 费用_ID  between @费用ID and @费用ID+100

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+100

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(毫秒)]

GUID和自增ID的比较_delete相关推荐

  1. 弃用数据库自增ID,曝光一下我自己用到的解决方法之---终结篇

    我写这篇随笔的目的旨在 澄清我在上一篇随笔 "弃用数据库自增ID,曝光一下我自己用到的解决方法" 中的一些事实与看法,同时,我将继续在并发的问题的作题, 我将在原来的存储过程上得用 ...

  2. Twitter-Snowflake,64位自增ID算法详解

    Twitter-Snowflake,64位自增ID算法详解 from: http://www.lanindex.com/twitter-snowflake%EF%BC%8C64%E4%BD%8D%E8 ...

  3. mysql自增id与uuid的区别

    前言 在设计数据库表的时候,MySQL官方推荐不要使用uuid或者不重复不连续的雪花id(long型且id唯一,单机递增),而是腿甲使用自增id,推荐使用auto_increment. 自增id做主键 ...

  4. 面试官问:如果MySQL的自增 ID 用完了,怎么办?

    欢迎关注方志朋的博客,回复"666"获面试宝典 如果你用过或了解过MySQL,那你一定知道自增主键了.每个自增id都是定义了初始值,然后按照指定步长增长(默认步长是1).虽然,自然 ...

  5. 面试官问:MySQL 的自增 ID 用完了,怎么办?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:程序猿面试指南 既然这块知识点不清楚,那回头就自己动手实践下 ...

  6. sqlserver 自增ID插入指定数据

    set identity_insert 表名 ON --允许对自增列Id插入指定数据 insert into table_name(Id,Name) values(1,'test') set iden ...

  7. 8年面试官问到:数据库自增 ID 用完了会咋样?

    有主键 如果你的表有主键,并且把主键设置为自增. 在 MySQL 中,一般会把主键设置成 int 型.而 MySQL 中 int 型占用 4 个字节,作为有符号位的话范围就是 [-2^31,2^31- ...

  8. hive导数据到mysql 自增主键出错_老大问我:“建表为啥还设置个自增 id ?用流水号当主键不正好么?”...

     前言"又要开始新项目了,一顿操作猛如虎,梳理流程加画图.这不,开始对流程及表结构了.我:吧啦吧啦吧啦 --老大:这个建表为啥还设置个自增 id ?直接用流水号(用户号/产品号)当主键不就行 ...

  9. 45 MySQL自增id

    45 MySQL自增id 表定义自增id 说到自增id,前面提到mysql的自增id不连续,当表定义的自增值达到上限后的逻辑是:再申请下一个id时,得到的值保持不变 create table t(id ...

最新文章

  1. 008 释放技能call分析
  2. mysql为什么表大了要重建_为什么MySQL分库分表后总存储大小变大了?
  3. linux用户双重认证登录,linux PAM 用户登录认证
  4. win7win10 配置wlan热点
  5. Oracle存储过程--案例
  6. 看完就能独自把集群搭起来!Hadoop HDFS完全分布式环境搭建以及技术详解
  7. 【数值分析】基础理论归纳
  8. Iocomp控件教程之LinearGauge--线性刻度尺控件
  9. Origin 2021 创建双y轴
  10. 什么是示波器的采样率
  11. 在Linux 中安装cmus 用命令行中玩转音乐库
  12. 为什么用CDN给你网站加速?
  13. 150. 逆波兰表达式求值(中等 栈 数组)
  14. 去中心化的联邦图神经网络
  15. 精心收集的95个超实用的JavaScript代码片段(ES6 +编写)
  16. 通讯录的实现(C语言)
  17. 10个致工程师在工作中快速成长的技巧
  18. java Map的基本用法
  19. [图形学] 基于图像的照明:漫反射辐照度
  20. 为了防止别人非法使用计算机可以通过,[单选] 为了防止别人非法使用计算机,可以通过为计算机设置口令()。...

热门文章

  1. 最近火了的自动驾驶全球产业链全景图
  2. SEGGER RTT STOP/SLEEP 模式下使用
  3. 浅谈OFBiz之权限设计
  4. 为什么说Python是伟大的入门语言
  5. SAP常用BASIS技巧整理
  6. 【VMware vSAN 6.6】2.1.带有本地存储的服务器:vSAN硬件服务器解决方案
  7. JavaScript之表单元素操作
  8. webpack学习笔记
  9. SpringMVC之使用Validator接口进行验证
  10. ubuntu通过apt-get方式搭建lnmp环境以及php扩展安装