2012-10-08 72 views
1

我在C++ Builder中使用ADO组件,我需要向我的MS Access数据库添加大约200 000条记录。如果我逐一添加这些记录,则需要很长时间,所以我想使用线程。每个线程都会创建一个TADOTable,连接到数据库并插入它自己的行。但是,在运行应用程序时,它只会使用一个线程而变得更慢!C++ Builder - 多线程数据库更新

那么,该怎么做呢?我需要添加许多记录到我的Access数据库,但要避免逐个插入。代码会很有用。

谢谢。

+0

尽管C#相关,这可能会有所帮助[编写大量记录大容量插入访问在网络c](http://stackoverflow.com/questions/7070011/writing - 大数量的记录 - 大容量插入到网络访问 - c) – Jorik

+1

可能重复[大容量插入到访问数据库从C#?](http://stackoverflow.com/questions/4646791/本体 - 嵌件成存取数据库从-c)的 –

回答

-1

首先,多线程不会增加插入的速度。由于上下文切换和东西,它会减慢速度。您需要的是批量插入的方式,即在单个事务中发送多行

尝试在接入表中搜索批量插入。那里有很多信息。