快速生成导入亿级测试数据到sqlserver
2024-09-29 22:45:11
如果采用insert into 循环一条一条插入速度比较慢
可以先将数据插入临时表,然后在临时表数据量到达批量插入的行数时执行例如:目标表 (col1,col2,col3)
SELECT col1,col2,col3 into #temp FROM 目标表 WHERE 1=2 --根据目标表结构复制一个临时表
declare @n int
set @n=1
while @n<=100000000
begin
insert #temp(col1,col2,col3)
values ( NEWID(),
''+right( ''+cast(@n as nvarchar(10)),8),
CAST(ABS(CHECKSUM(newID()))%CAST( cast('2003-10-01' as datetime)-cast('1968-03-02' as datetime) AS BIGINT)+CAST(cast ('1968-03-02' as datetime) AS BIGINT) AS DATETIME)+RAND() --随机时间
)
if @n%100001=100000 --每10万条记录执行一次批量插入,可以自定义
begin
insert 目标表(col1,col2,col3) select * from #temp
truncate table #temp
end
set @n=@n+1
end
--drop table #temp
最新文章
- 「C++」理解智能指针
- ABP理论学习之NHibernate集成
- ASP.NET MVC学习系列(二)-WebAPI请求(转)
- 微信小程序开发:http请求
- window和nodejs作用域区别(待续)
- EXTJS 表单提交
- 织梦dedecms中html和xml格式的网站地图sitemap制作方法
- 单步运行linux kernel ?
- golang之websocket 源码分析
- uva 348
- JDK Windows环境配置
- cocos2d安卓android长音效播放不完全
- JS中常见排序算法详解
- PyQt:无边框自定义标题栏及最大化最小化窗体大小调整
- Mybatis---架构图
- 《从零开始学习jQuery》:用jQuery操作元素的属性与样式
- node.js中net网络模块TCP服务端与客户端的使用
- 人人网(cookie登录)
- 循环神经网络-RNN入门
- Mybatis学习2传统dao开发