有一表 table1 字段:f01
如何在table1中用最快的速度插入10000万条记录,且f01为随机数,不能重复
8 个解决方案
#1
选建两个临时表,各写1000个随机数,然后用交叉链接产生100万条记录插入你要的表中,不过这结数就不那么随机了.不过要比产生100万个随机数快多了.
#2
bcp命令非常快,或用批处理做
#3
建两个临时表,各填1000个随机数,用交叉链接辅以其它规则生成100万个不怎么随机的数吧.
#4
TO:zhouqi66()
我现在用的就是你这种方法,我想看一看没有别的好办法
我现在用的就是你这种方法,我想看一看没有别的好办法
#5
关注
#6
10000万<>100万
到底多少万?呵呵]
先建立一组标志,如果选中了就设置为1。每次选数时,先判断标志是否为1,如果不为1,则选中,否则忽略选择下一个。下面是例子:
Dim n(1 To 370), i, j, q
For i = 1 To 370
n(i) = 0
Next
j = 0
Randomize Timer
While j < 10
q = Int(Rnd(1) * 369 + 1)
If n(q) = 0 Then
Print q
n(q) = 1
j = j + 1
End If
Wend
到底多少万?呵呵]
先建立一组标志,如果选中了就设置为1。每次选数时,先判断标志是否为1,如果不为1,则选中,否则忽略选择下一个。下面是例子:
Dim n(1 To 370), i, j, q
For i = 1 To 370
n(i) = 0
Next
j = 0
Randomize Timer
While j < 10
q = Int(Rnd(1) * 369 + 1)
If n(q) = 0 Then
Print q
n(q) = 1
j = j + 1
End If
Wend
#7
用MSHFLEXGRID,ADO绑定
#8
用 insert select 语句批量插入
或定义存储过程在server端操作 可能会快点
或定义存储过程在server端操作 可能会快点
#1
选建两个临时表,各写1000个随机数,然后用交叉链接产生100万条记录插入你要的表中,不过这结数就不那么随机了.不过要比产生100万个随机数快多了.
#2
bcp命令非常快,或用批处理做
#3
建两个临时表,各填1000个随机数,用交叉链接辅以其它规则生成100万个不怎么随机的数吧.
#4
TO:zhouqi66()
我现在用的就是你这种方法,我想看一看没有别的好办法
我现在用的就是你这种方法,我想看一看没有别的好办法
#5
关注
#6
10000万<>100万
到底多少万?呵呵]
先建立一组标志,如果选中了就设置为1。每次选数时,先判断标志是否为1,如果不为1,则选中,否则忽略选择下一个。下面是例子:
Dim n(1 To 370), i, j, q
For i = 1 To 370
n(i) = 0
Next
j = 0
Randomize Timer
While j < 10
q = Int(Rnd(1) * 369 + 1)
If n(q) = 0 Then
Print q
n(q) = 1
j = j + 1
End If
Wend
到底多少万?呵呵]
先建立一组标志,如果选中了就设置为1。每次选数时,先判断标志是否为1,如果不为1,则选中,否则忽略选择下一个。下面是例子:
Dim n(1 To 370), i, j, q
For i = 1 To 370
n(i) = 0
Next
j = 0
Randomize Timer
While j < 10
q = Int(Rnd(1) * 369 + 1)
If n(q) = 0 Then
Print q
n(q) = 1
j = j + 1
End If
Wend
#7
用MSHFLEXGRID,ADO绑定
#8
用 insert select 语句批量插入
或定义存储过程在server端操作 可能会快点
或定义存储过程在server端操作 可能会快点