大批量数据插入数据库问题(200分)

  • 主题发起人 主题发起人 dj_lgy
  • 开始时间 开始时间
D

dj_lgy

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手们,请亮出你们的高招<br>现在要尽可能的向Oracle表中插入数据,我目前所采用的方法一秒钟只能插入40条左右<br>有没可能插入100左右或更多
 
不知道你用的是什么方法,数据是什么样的
 
用的存储过程写入数据格式<br>A_TRACKSNew( &nbsp;OBJECTID &nbsp; &nbsp; VARCHAR2(10) not null,<br>&nbsp; LON &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NUMBER(18,6),<br>&nbsp; LAT &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NUMBER(18,6),<br>&nbsp; SPEED &nbsp; &nbsp; &nbsp; &nbsp;NUMBER(5,2),<br>&nbsp; DIRECT &nbsp; &nbsp; &nbsp; NUMBER(3),<br>&nbsp; GPSTIME &nbsp; &nbsp; &nbsp;DATE not null)
 
直接在Pl/SQL中写了一段语句调用过程插入10000条只需10秒左右,搞不懂为何在Delphi中插入只有可怜的40条
 
理论上说,应该跟PL./SQL中插入速度差不多,增加的时间无非是客户端传送数据到服务器调用存储过程的命令,这个时间应该占整个插入过程时间的一小部分。是不是你还有其他操作耗费了时间?
 
没得,直接ExecProc处理的,用缓冲处理更慢<br>10000条给参数赋值只需一秒左右
 
如果直接用oracle oci directload接口进行导入,几万的数据只要十来秒。可以看看ODAC或DOA控件,里面就有这个功能。
 
谢谢了,我试试看
 
jacket84在网上找了一下ODAC for Delphi的,好象都是要钱的,你那有没破解的,有的话发一个给我 EMAIL: dj_lgy@126.com
 
盒子和delphifans.com都有的,安装后都带VCL源码的。如果需要,等上班发个给你。
 
那就谢谢了呵
 
多人接受答案了。
 
后退
顶部