首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unidac / MyDac / SQL -我在快速插入大约1000行时遇到问题

Unidac / MyDac / SQL -我在快速插入大约1000行时遇到问题
EN

Stack Overflow用户
提问于 2020-05-02 18:08:57
回答 1查看 432关注 0票数 0

我用的是unidac组件。我在快速插入大约1000行时有问题。

代码语言:javascript
复制
var
  query: TUniquery;
begin
  query.SQL.Add('INSERT INTO Table (field1,field2,field3) VALUES (:b0,:b1,:b2);');
  for I := 0 to 1000 do
  begin
   Query.ParamByName('b0').AsInteger := 1;  
   Query.ParamByName('b1').AsInteger := 2;
   Query.ParamByName('b2').AsInteger := Random(100);
   Query.Prepare;
   Query.Execute;  //1000 times is very slow
end;

它更快

代码语言:javascript
复制
var
  query: TUniquery;
begin
  for I := 0 to 1000 do
    Query.SQL.Add('INSERT INTO Table (field1,field2,field3) VALUES (1,2,Random(100));');
  end;
  Query.Execute;  //1 times - is fast add 
end;

但是,我想在过程Query.ParamByName('b1').AsInteger := 2;中使用第一种格式,因为它更清晰,而且有大量的列更容易找到。

你对如何解决这个问题有什么想法吗?

也许您还有其他方法可以快速插入具有不同数据的大量行?

EN

回答 1

Stack Overflow用户

发布于 2022-02-11 11:52:46

如果需要快速插入大量记录,则应使用批处理更新。您可以在MySQL中阅读更多关于使用UniDAC (或MyDAC)在博客中插入批处理的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61564113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档