我有一个旧的 php Web 应用程序,它执行 csv --> 数据库导入,进入一个存储实体数据的“主”表,以及一个存储每个实体的动态数据的实体属性值表。
导入过程是通过 csv 文件逐行迭代,每行在主表中插入一个插入,在 EAV 表中插入多个插入。
这个过程是SLOOW,对mysql调优知之甚少的告诉我,一个LOAD DATA语句一般要比一系列INSERT快得多;然而,由于 EAV 过程,迭代仍然必须发生,尽管基于数据库查询的结果而不是 csv 文件。
是否值得进行修改?
如果每个文件中有数千万条记录,通常只有不到 2/3 的文件字段实际映射到属性,这有什么不同吗?