快速插入1亿条数据

blueteethlele 2016-11-24 05:13:31
建一个表里面 字段1: ID 字段2:ID的MD5值
快速插入1--1亿得所有数据

要求就是 快速 。 哈哈哈哈
...全文
774 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 版主 2016-11-28
  • 打赏
  • 举报
回复

-- 代码我还真留了一份,数据我就不贴了,你自己跑跑看

create table test(id int, md5 varchar(32))
create table temp(id int primary key not null)
go
declare @c int =0 ;

insert into temp 
select top 100000
    row_number() over(order by (select 1)) id
from sys.columns a, sys.columns b,sys.columns c

while @c < 1000
begin
    begin transaction
    insert into test 
    select 
    @c * 100000 + id, 
    convert(varchar(32),hashbytes('MD5',ltrim(id)),2) from temp
    set @c = @c + 1
    commit
end
go 
select count(*) rscount from test 
go
drop table test, temp
go

blueteethlele 2016-11-28
  • 打赏
  • 举报
回复
引用 9 楼 wmxcn2000 的回复:
刚试了一下 1Y 条数据,批量写入,第一列为数字,第二列为该数字的 MD5 ,总用时 15 分钟。 不知道,能不能达到楼主认为的这种“快”
这个速度已经很快了,弱弱问下如何写入的?
卖水果的net 版主 2016-11-27
  • 打赏
  • 举报
回复
刚试了一下 1Y 条数据,批量写入,第一列为数字,第二列为该数字的 MD5 ,总用时 15 分钟。 不知道,能不能达到楼主认为的这种“快”
薛定谔的DBA 2016-11-27
  • 打赏
  • 举报
回复
这1亿数据已经存在了?MD5也加密了?这数据是什么格式?还是自己模拟生成这批数据? id和MD5在数据库外部先加密 去索引 恢复模式为简单模式 bcp导入
Q315054403 2016-11-27
  • 打赏
  • 举报
回复
估计是暴力破解的套路 曾做过一个案例,数据12T,记得是到7位组合,纯数字+字母是到8位,几年了,有点忘了
gw6328 2016-11-25
  • 打赏
  • 举报
回复
批量就很快吧。你的数据是什么数据? 1亿10000,10000,分成小段一次插一万一万次就插完了,如果一次10万1000次就可以了。
  • 打赏
  • 举报
回复
modis 数据吗?
xiaoxiangqing 2016-11-25
  • 打赏
  • 举报
回复
用buck吧
㤁孞 2016-11-25
  • 打赏
  • 举报
回复
写个存储过程,里面写个循环添加数据 http://bbs.51cto.com/thread-1115702-1-1.html
giftzheng 2016-11-25
  • 打赏
  • 举报
回复
insert into table(md5_value) select null from table 用原表 指数据增长 最后批量更新md5_value
blueteethlele 2016-11-24
  • 打赏
  • 举报
回复
还有不要担心我硬盘的大小这种低级问题; 也不要问我建这表要干嘛;就是要快速 哈哈哈
blueteethlele 2016-11-24
  • 打赏
  • 举报
回复
分不够再加,哈哈哈

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧