我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQL快速生成连续整数

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQL快速生成连续整数


	SQL快速生成连续整数
[数据库教程]

很多时候需要用到连续的id进行数据对比,如判断是否连续等问题。那么,生成连续整数的方式有多种,首先容易想到的是逐步循环,如果想生成2kw条记录,则需要循环2kw次进行插入,那么有没有其他方式呢,效率相对于逐步加一有多少提升呢。

首先创建一张存放记录的表,插入1条记录。

CREATE TABLE dbo.Nums(n INT);
INSERT INTO dbo.Nums VALUES(1);

通常容易想到的是循环插入,每次插入1条,插入20W次,大约耗时10几分钟。。。

按照指数级插入,20W数据只需要插入18次,1s即可完成。

DECLARE @max AS INT, @rc AS INT;
SET @max = 200000;  --数据总数
SET @rc = 1;       --插入次数
WHILE @rc <= @max
BEGIN
  INSERT INTO dbo.Nums SELECT n + @rc FROM dbo.Nums WHERE n+@rc<=@max;
  SET @rc = @rc * 2;
END

具体逻辑理解如下:

第1次插入1条,表数据变为:1 ,2

第2次插入2条,表数据变为:1 , 2 ,3, 4

第3次插入4条,表数据变为:1 ,2 ,3 ,4 ,5 ,6 ,7 ,8

第4次插入8条,表数据变为:1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,...... ,16

......

第17次插入65536行,表数据变为:1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,...... ,131072

第18次插入剩余的68928行。

 

SQL快速生成连续整数

原文地址:https://www.cnblogs.com/xiaohuhu/p/13391454.html

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQL快速生成连续整数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SQL快速生成连续整数

很多时候需要用到连续的id进行数据对比,如判断是否连续等问题。那么,生成连续整数的方式有多种,首先容易想到的是逐步循环,如果想生成2kw条记录,则需要循环2kw次进行插入,那么有没有其他方式呢,效率相对于逐步加一有多少提升呢。首先创建一张存放记录的表,插入1条
SQL快速生成连续整数
2016-08-19

mysql 快速生成100w条测试数据

本篇文章是关于MySQL生成百万条数据的全部过程,每一步都有具体的sql,并且每一步都有具体的注释,详细步骤如下:1、创建数据库C
2023-05-15

怎么快速生成MySQL数据库关系图

要快速生成MySQL数据库关系图,您可以使用以下方法:1. 使用数据库建模工具:可以使用一些数据库建模工具,例如MySQL Workbench、Navicat等,这些工具提供了可视化设计数据库模型的功能,可以根据已有的数据库表结构自动生成关
2023-08-12

如何快速生成MySQL数据库关系图

这篇文章主要介绍“如何快速生成MySQL数据库关系图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何快速生成MySQL数据库关系图”文章能帮助大家解决问题。需求描述:在公司老旧系统里,数据库表很多
2023-07-02

PHP 数据库连接脚手架:快速生成可重用且可维护的连接代码

在php中,连接脚手架简化了数据库连接代码的创建,提供可重用的、可维护的连接。具体步骤如下:使用composer安装zend\db\adapter\adapter组件。创建一个适配器对象,指定数据库驱动程序、连接信息和凭据。可以在整个应用程
PHP 数据库连接脚手架:快速生成可重用且可维护的连接代码
2024-05-22

一文教你快速生成MySQL数据库关系图

目录需求描述:需求分析:技术方案:解决方案:总结需求描述:在公司老旧系统里,数据库表很多,但是在设计之初并没有建立好关系图,导致新人刚入职,面对N个库,每个库几百张表,很不方便。例如:公司某一个系统的库有三百张表,在不熟悉项目的情况下,
2022-06-28

SQLServer 错误 3417 无法恢复 master 数据库。 SQL Server 无法运行。 请利用完整备份还原 master 数据库,修复它,或者重新生成它。 有关如何重新生成 maste

详细信息 Attribute 值 产品名称 SQL Server 事件 ID 3417 事件源 MSSQLSERVER 组件 SQLEngine 符号名称 REC_BADMASTER 消息正文 ...
SQLServer 错误 3417 无法恢复 master 数据库。 SQL Server 无法运行。 请利用完整备份还原 master 数据库,修复它,或者重新生成它。 有关如何重新生成 maste
2023-11-05

编程热搜

目录