我有一个包含1000万行的数据文件,包含2个字段,id和name。文件的总大小为650 MB。
将此数据加载到数据库表需要多长时间?它是多对多关系的交叉表。
这似乎需要很长时间才能做到这一点。在加载时,我尝试执行select语句。但是,它是空的。
MariaDB [wordDS]> select count(*) from Category_Term;
+----------+
| count(*) |
+----------+
| 0 |
+----------+
1 row in set (12.02 sec)
Load Data Infile已经运行了很长一段时间,为什么没有任何数据加载到表中呢?我怀疑所有数据行都将首先读入内存,然后在加载结束时最终写入表中。否则,我可以使用' select *'用于检查装载状态的声明。
答案 0 :(得分:0)
在支持它的表上,比如InnoDB,它通常在事务的上下文中加载,所以在完成之前你不会看到任何东西。然后突然可以获得所有数据。
如果您需要逐个加载它,您可能需要将一个电子表格转换为多个部分并按顺序加载它们。
我喜欢将大文件分成更小的部分,以便您获得进步感。看到“文件23/100完成”比“文件0/1完成”要好得多。