`
touchinsert
  • 浏览: 1335728 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

快速生成一个指定条记录数的记录集

 
阅读更多


declare @tb table(fid int identity,fc char(1))
declare @n int

set @n=1234567

declare @i int

--一条条插入的方式 大约24.5秒

print convert(varchar(30),getdate(),121)

set @i=0
set nocount on
while @i<@n
begin
insert @tb (fc) values ('0')
set @i=@i+1
end
set nocount off

print convert(varchar(30),getdate(),121)

select count(*) from @tb


delete @tb

--批量插入的方式 大约5秒

print convert(varchar(30),getdate(),121)

insert @tb (fc) values ('1')
set @i=1
set nocount on
while @i<@n
begin
if @i+@i<=@n
begin --翻倍
insert @tb (fc) select fc from @tb
set @i=@i+@i
print @i
end
else
begin --翻倍的记录数就要超过了
--insert @tb (fc) values ('0')
print convert(varchar(30),getdate(),121)
--insert @tb (fc) select top @n-@i fc from @tb --可惜只有sql2005开始才支持
insert @tb (fc) select fc from @tb where fid<@n-@i+(select min(fid) from @tb)
print @@rowcount
print convert(varchar(30),getdate(),121)
set @i=@i+@i
end
end
set nocount off

print convert(varchar(30),getdate(),121)

select count(*) from @tb

——从实际可以看出:批量插入的效率比一条条的插入要高几倍(1234567条:5s : 24s)

作用呢?

如果需要列出一个从某天开始的连续n天的日期记录。。。。。。

select '2000-01-01'+fid from funMakeRecord(1000) order by fid

分享到:
评论

相关推荐

    Access数据库随机抽取记录条数.zip

    通过编写VBA代码,我们可以直接操作记录集,随机选择并返回所需的记录数。例如: ```vba Function GetRandomRecords(tableName As String, count As Integer) As Recordset Dim db As DAO.Database Dim rs As DAO...

    C#生成2位或N位不重复字母数字组合

    接下来,我们要编写一个方法,用于生成指定长度的不重复组合。这里我们可以利用`HashSet&lt;char&gt;`来存储已经生成的字符,确保它们不会被重复使用。同时,我们使用`Random`类来随机选择字符: ```csharp using System;...

    Vb 导出记录集到电子表格

    在`Form_Load`事件中,创建了一个新的记录集实例`rs`,并用`Open`方法打开一个名为"aaa"的查询(假设这是表名或SQL查询),并指定了连接对象`conn`以及锁定和游标类型。 ```vb rs.Open "aaa", conn, adOpenKeyset...

    快速将mysql指定数据库或表生成golang struct和表的常用方法集代码的工具.zip

    【标题】"快速将mysql指定数据库或表生成golang struct和表的常用方法集代码的工具.zip" 提供了一个方便的解决方案,它允许开发者通过Go语言来自动化地将MySQL数据库中的表结构转换为Golang的structs,并生成与之...

    mybatis生成工具.zip

    总的来说,MyBatis Generator是一个强大的自动化工具,能够帮助开发者快速生成MyBatis框架下的基础代码,减轻了开发工作量,提高了开发效率。通过合理配置,MBG可以根据实际需求生成符合项目规范的代码,是MyBatis...

    下载者生成器

    下载者生成器是一种工具,主要用于...总的来说,下载者生成器是一个实用的工具,能够帮助用户快速有效地管理和分发大量文件。不过,使用时必须谨慎,确保其操作符合法律和伦理规范,同时也需要关注其安全性和可靠性。

    mybatis根据数据库表自动生成SQL、实体类、mapper文件工具

    4. 查看生成结果:工具会自动生成指定目录下的Java源代码文件。 总的来说,这个工具结合Eclipse和MyBatis Generator,为SSM项目提供了便利的数据库表到代码的转换服务。通过自动化的代码生成,开发者可以更专注于...

    路径生成工具(测试版)

    标题中的“路径生成工具(测试版)”是一个用于生成指定路径下所有文件夹名和文件名的实用程序,它能够帮助用户快速获取指定目录结构的信息。这个工具是用C#编程语言开发的,C#是一种面向对象的、类型安全的编程语言...

    用Prim和Kruskal算法构造最小生成树

    1. **初始化**:选择任意一个顶点作为起点,将该顶点加入到集合U(已加入生成树中的顶点集合),并初始化一个数组记录各个顶点到U的最短距离。 2. **迭代**:从未加入生成树的顶点中选取与U中顶点距离最短的那个顶点...

    条码软件应用之随机生成 0-9 个位数字.docx

    本文主要关注的是如何在条码软件中实现0-9个位数字的随机生成,这是自动化生产和数据处理过程中的一个重要环节。随机生成的数字常用于创建唯一的产品标识或追踪代码,确保数据的准确性和效率。 首先,我们来看"随机...

    存储过程生成器(快速方便)

    综上所述,“存储过程生成器”是一个强大的数据库开发辅助工具,它通过自动化的方式生成基本的存储过程,使得开发者能更专注于业务逻辑的实现,提高整体项目开发的效率和质量。对于处理大量数据操作的系统来说,正确...

    vb.net自动生成二维码,数据库可查询记录

    这可以通过编写SELECT语句实现,`SqlCommand`的`ExecuteReader`方法会返回一个`SqlDataReader`对象,你可以遍历其结果集来获取数据。如果需要更新或删除数据,对应的方法是`ExecuteNonQuery`。 5. **用户界面**:...

    三种数据库不同的取前10条记录

    - `ROWNUM`为每一条记录分配了一个递增的行号。 - `WHERE ROWNUM 用于限制返回的行数不超过10行。 - `t.*`表示选择表中的所有列。 需要注意的是,如果需要查询的结果集需要排序,则应先进行排序操作再使用`ROWNUM`...

    MyBatis逆向生成工具

    逆向生成的实体类代表数据库中的表,每个字段对应表中的一个列。这些类通常包含getter和setter方法,便于操作和访问属性。同时,它们还可能包含一些额外的注解,如@Table、@Column等,以便于MyBatis识别和映射。 4...

    DataMaker数据批量生成器

    总的来说,"DataMaker数据批量生成器"是软件开发和测试中的一个重要工具,通过结合C++的编程能力和随机数生成能力,能够帮助开发者快速、灵活地创建大规模的测试数据,提高测试的有效性和效率。同时,与其他工具如...

    mybatis逆向工程生成指定table的dao、entity、mapper.xml

    通过修改配置文件中的数据库连接信息和表名,用户可以轻松地生成指定table的代码。 6. **最佳实践** - 在团队开发中,逆向工程应谨慎使用,避免频繁修改数据库表结构导致代码冲突。 - 为每个表生成单独的Mapper,...

    Mybatis代码自动生成工具

    Mybatis代码自动生成工具是一种高效开发的利器,它能够帮助开发者快速生成基于Mybatis框架的Mapper接口、XML映射文件、Service以及DAO等组件,极大地提高了开发效率,减少了手动编写重复代码的时间。以下是对这个...

Global site tag (gtag.js) - Google Analytics