我正在尝试将 100 万条记录插入到数据库表中。
我想创建至少 3 个线程,每个线程触发一个插入,然后我们可以在每一秒内获得 3 个并行请求。我们可以通过让每个线程等待和唤醒来控制插入的触发完全同时发生一起达到同一个中断。然后每个线程进入休眠状态,直到 1 秒窗口结束。然后整个过程将重复。我怎样才能完成它?
任何建议或提示都会有所帮助。
最佳答案
插入大量数据被认为是一种不好的做法。插入大量数据会花费很多时间,而您可以使用sqlloader或类似工具直接将数据加载到表中。这些加载器速度更快,因为它们不会导致事务管理的开销。
当我有大量数据要加载到数据库中时,我会问自己一些问题。
- 这是引用/静态数据(如国家、城市、银行)
- 此动态数据是由应用程序生成的/通过使用应用程序生成的(例如账单、通话记录、付款、帐户 Activity )。
大多数情况是情况 1,在这种情况下,sqlloader 是首选。
由于数据迁移/升级可能会出现其他情况(2),在这种情况下也首选sqlloader。
基于以上解释。您可以选择更好地描述您的问题或选择 sqlloader。
关于java - 如何向数据库中插入百万条数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38135973/