将数据从文件加载到Maria DB表,加载时发出问题

时间:2018-06-11 06:13:19

标签: java jdbc mariadb

我正在识别文件夹中的文件并选择文件并使用BufferedReader读取文件并逐行读取并将该行转换为ArrayList对象(这需要花费大量时间,因为它有50个列)并准备一个准备好的声明并将其添加到批处理中,一旦我向批处理添加了4000个记录,我们将数据提交到表。所有这个过程需要时间,因为它是从文件中读取并插入它进入表格,我遵循以下方法: 1)迭代文件中的每一行并将每一行作为String对象放入List中(假设列表的大小为93000)。 2)将列表分成子列表(每个子列表大小为4000。),这意味着我们得到24个子列表。 3)我使用Callable Interface和Executor Framework创建了Threads。 4)我将每个子列表传递给一个线程,这意味着在我的情况下它是24个线程。 5)每个线程将子列表中的每个String对象转换为预准备语句,并在添加4000k记录后将其添加到批处理并提交。

问题是:

在加载文件时,有时会加载某些记录,有时会将记录正确加载到表中。 - >当我多次运行时,有时只会丢失5条记录,有时会丢失1000条记录,有时会记录3230条记录,有时会正确加载100%。 - >有人可以帮我理解,为什么会出现这种行为。

1 个答案:

答案 0 :(得分:0)

  1. CREATE一个反映文件结构的表。
  2. 使用LOAD DATA INFILE ...读取文件并填充该表。
  3. 使用查询来按摩数据。
  4. 查看数据,看它是否“正确”。
  5. 将数据复制到所需的目标。
  6. DROP此处使用的表格。
  7. 没有循环,没有批处理,没有文件读取,没有数组,没有迭代 所有SQL。