我在文本文件中有很多数据(11k行)。我可以将其转换为sql文件,以便我可以加载数据infile。但是,我想知道我是否将数据插入临时表并从该表加载数据。两者之间的性能比较是什么?你建议一个更好的方法吗?
谢谢,
答案 0 :(得分:0)
如果我正确理解你,这是一种相当典型的方法。只需将原始数据(与文件中的原始数据完全相同)加载到临时表中,然后使用SQL语句将其传输到目标表,并截断或删除临时表。这是一种简单的方法,有点像穷人的ETL。对于11k记录,这应该没问题(11k是一个非常小的表,实际上,我经常做数百万行)。
如果您想要性能最佳的方法,可以使用Talend等工具进行ETL,并在进入数据库的过程中转换数据,然后无需临时表。
这两种方法都有效,我建议性能不太可能是如何做到的决定性因素,几乎和最简单的方法一样多。
答案 1 :(得分:0)
mysql文件非常快速地导入它,所以除非在实例上存在事务性冲突的问题,否则我不会打扰临时表。假设表中没有100个字段或任何大的blob /二进制文件,则11k相对较小。