在我的公司,我使用一个程序读取 CSV 文件并将数据插入数据库。我遇到了麻烦,因为它需要一次插入大量数据(最多 10,000 行)。起初,我让它循环并一次插入每条记录。这很慢,因为它调用了一个插入函数 10,000 次......接下来我尝试将它组合在一起,以便通过连接 SQL 调用一次插入 50 行。我曾尝试一次将 SQL 调用分组为最多 1,000 行,但它仍然太慢。
我必须做的另一件事是更改数据。客户提供了一个包含用户名和密码等数据的电子表格,但有时用户名是相同的,所以我通过在末尾添加一个数字来更改它们。即JoDoe,JoDoe1。有时情况是没有密码或用户名,所以我必须生成一个。我提出这个问题的原因是我读到使用 LOAD DATA INFILE 可以非常快地读取文件并将其放入表中,但我需要在进入表之前对其进行编辑。
它将在 120 秒后超时,并且在那段时间内未完成的内容将作为全 0 插入。我需要加快速度,这样它就不需要那么长时间了。我不想更改时间限制,因为这是公司的事情。将多行 CSV 文件插入数据库的有效方法是什么?