我有一个包含 50k+ 行的文本文件,每行都包含必须作为单独字段从每行中提取的数据。
该程序每天运行几次。
由于这个应用程序是可移植的,我正在使用 SQLIite 并逐一读取这 50k 行中的每一行,收集所需的数据并插入到 SQlite DB 文件中。
我做了一些测试,发现仅读取行只需要现在实际时间的 10%,所有开销都是在我将所有数据一一插入 SQLite 数据库时产生的。
寻找改进建议。
最佳答案
您可以使用事务来提高性能,以便一次请求多个 INSERT,而不是文本文件中的每一行请求一个。这将允许您对 INSERT 语句进行批处理(尝试每批 100 个语句)——这将显着提高性能。
关于sql - 批量SQL插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7217166/