社区
数据库相关
帖子详情
ADO和Access数据保存效率问题。(4000数据30秒)
yeeyee
2008-10-19 09:25:52
开发用 ADO+Acce
数据库设计很简单。
ID Num Value
Text(32) Int Double
要保存 4000 数据(或以上)到数据库,花时间30秒以上,要提升效率,要注意哪些点?
...全文
212
14
打赏
收藏
ADO和Access数据保存效率问题。(4000数据30秒)
开发用 ADO+Acce 数据库设计很简单。 ID Num Value Text(32) Int Double 要保存 4000 数据(或以上)到数据库,花时间30秒以上,要提升效率,要注意哪些点?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fangsp
2008-10-20
打赏
举报
回复
不要建立索引 最好使用SQL语句
lake_cx
2008-10-20
打赏
举报
回复
[Quote=引用 9 楼 qkhhxkj102 的回复:]
我也是保存42000条记录是从EXCEL里读出保存到ACCESS里的,用时可能要半个来小时吧,
现在也还没有找到好的办法让速度快点
[/Quote]
一条SQL语句搞定的还用半个小时?
lake_cx
2008-10-20
打赏
举报
回复
Access中执行:
select * into table1 from [Sheet1$] in "C:\test.xls" "Excel 8.0;"
qkhhxkj102
2008-10-20
打赏
举报
回复
有二十二个字段,
我是每次读出100条记录到结构数组里,再保存到ACCESS里,
就这样一直下去,
lake_cx 兄弟有好办法说一下
mygodsos
2008-10-20
打赏
举报
回复
要是不考虑保密性,桌面数据库还是用vfp的环境来弄比较快,10万条记录刷一下就给你弄完。
cncharles
2008-10-19
打赏
举报
回复
LockType改成ltBatchOptimistic试试, 再说30S也不是很长的。
yeeyee
2008-10-19
打赏
举报
回复
不是的,就是把一个 4000 的数组,数据保存到 ACCESS 。
javaxi
2008-10-19
打赏
举报
回复
需知道你是如何更新,
如果是sql通过where关联,那么是有优化方案的
lake_cx
2008-10-19
打赏
举报
回复
你一次有4000条数据就意味着肯定有数据源,数据源是什么?txt、xml或者???
不可能一次输入4000条数据吧,所以你这不是数据保存的问题,而是数据导入的问题。
cncharles
2008-10-19
打赏
举报
回复
如果第一次导入的时候把主键与索引删除, 导入完后再加上。
NCHAR改成VARCHAR
qkhhxkj102
2008-10-19
打赏
举报
回复
我也是保存42000条记录是从EXCEL里读出保存到ACCESS里的,用时可能要半个来小时吧,
现在也还没有找到好的办法让速度快点
僵哥
2008-10-19
打赏
举报
回复
如果只是为了保证写入(保存)的速度,那就是少建或者不建索引.操作最好使用SQL语句.
天行归来
2008-10-19
打赏
举报
回复
用7楼的方法可以提高效率,数据插入用SQL,另外,多条SQL一次性执行。
var
strSql: string;
begin
strSql := '';
...
for i:=1 to n do //一批插入n条
begin
strSql := strSql+'insert into myTable(id,num,value) values...;'; //每条SQL间要加上分号';'
end;
...
ADOCommand.Execute;
...
end;
僵哥
2008-10-19
打赏
举报
回复
[Quote=引用 6 楼 cncharles 的回复:]
LockType改成ltBatchOptimistic试试, 再说30S也不是很长的。
[/Quote]
最好还是人为手动提交,特别是使用显示事务,如果只是单纯的把LockType改为ltBatchOptimistic,一来有可能数据库不支持该选项,二来就算支持的话,会有极大的内存消耗.
4000笔数据,提交需要30多秒,如果是一笔笔提交的话,那么每秒提交就有一百多次,但是如果你每一次提交多笔的话,减少了提交的次数,是不是效率就会有所提升?
畅海货运管理系统 (
ADO
+
ACCESS
)
以及员工的基本信息,以及与业务往来公司的基本信息,本软件科学,使用,方便,宗旨为了减轻货运人员过去传统的手工制表,手工录入
数据
,当
数据
量大时,容易出错,查找时,耗费大量时间,降低了工作
效率
.畅海货运系统>>包含了...
Access
2007 VBA宝典 1/4
·在Word、Excel和Outlook之间操作并共享
Access
数据
: ·从
Access
创建Word文档; ·编写VBA代码来自动执行
数据
库任务; ·创建
Access
窗体,作为
数据
交换的控制面板: ·使用COM和
Access
加载项添加功能; ...
ado
.net精讲
兼容性差、速度快、对注入攻击需要做额外处理、可操作二进制
数据
在过程中会演示如何利用这三种方式对
数据
库做基本的增删改查操作、对二进制
数据
和事物进行操作以及如何读取
access
,excel
数据
源等。相信你学完后一定...
Access
2007 VBA宝典 3/4
·在Word、Excel和Outlook之间操作并共享
Access
数据
: ·从
Access
创建Word文档; ·编写VBA代码来自动执行
数据
库任务; ·创建
Access
窗体,作为
数据
交换的控制面板: ·使用COM和
Access
加载项添加功能; ...
Access
2007 VBA宝典 2/4
·在Word、Excel和Outlook之间操作并共享
Access
数据
: ·从
Access
创建Word文档; ·编写VBA代码来自动执行
数据
库任务; ·创建
Access
窗体,作为
数据
交换的控制面板: ·使用COM和
Access
加载项添加功能; ...
数据库相关
2,497
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章