如何快速的更新大批量的数据

ChenAnJun 2000-08-14 07:14:00
本人在实际工作中遇到如下问题
我使用MS ACCESS97数据库、VB6.0编程,ADO数据访问。
使用一数据表TRMLIST,内存有1000条记录,使用两个整形字段ColNo,AdrNo作为关键字。
每次我抄回某项数据后再更新TRMLIST的相应字段,由于每个记录更新的数据值不同,
我使用SQL执行如下:
update trmlist set value0=123.3 where colno=1 and adrno=1;
...
update trmlist set value0=223.3 where colno=1 and adrno=1000;

按此方式执行更新条记录将需很长的时间,即使使用ODBC API亦是如此。
不知各位有何高招,在此先谢了。
...全文
411 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChenAnJun 2000-08-17
  • 打赏
  • 举报
回复
致Sandy_wu:

Value0是一随机的数,它是通过串口从一设备中抄录回的数据,然后要把它存入TrmList中。
所以没办法向你所说的那样!
就我一般的概念来说更新1000条记录不应如此之慢,可事实上通过ODBC我目前只能如此,
也许直接用Access编程就不会如此之慢了!
ChenAnJun 2000-08-16
  • 打赏
  • 举报
回复
致 sandy_wu:

我必须在此再声明一点,对于每一个不同的Colno,AdrNo所更新的数据都不一样,
这其中Value0 与Colno,Adrno之间并无映射关系。

在此谢谢大家的关注!
sandy_wu 2000-08-16
  • 打赏
  • 举报
回复
标准的SQL应可以如此:
update trmlist set value0=123.3 + addr/10 where colno=1 and adrno<=1000 and addr >=1;
sandy_wu 2000-08-16
  • 打赏
  • 举报
回复
标准的SQL应可以如此:
update trmlist set value0=123.3 + addr/10 where colno=1 and adrno<=1000 and addr >=1;
ChenAnJun 2000-08-16
  • 打赏
  • 举报
回复
我的数据库本身就已建立了索引(ColNo,AdrNo)!
因为在这大批量的数据库中查找一个记录再更新,这个过程在更新一条记录时感觉不到快与慢,
但若同时连续更新大批量数据时就能感觉到非常的慢。
sandy_wu 2000-08-16
  • 打赏
  • 举报
回复
ha ha..

value0在另一table中吗?可以在update时将之与trmlist jion,SYBASE是可以的,ACCESS 就不知了。

sandy_wu 2000-08-16
  • 打赏
  • 举报
回复
ha ha..

value0在另一table中吗?可以将之与trmlist jion,SYBASE是可以的,ACCESS 就不知了。

hyzx2000 2000-08-15
  • 打赏
  • 举报
回复
建立索引由colno和adrno组成。

34,575

社区成员

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

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