在phpMyAdmin中,有两个选项可用于导入CSV文件.
一个是CSV.另一种是使用LOAD DATA的CSV.
这两者有什么区别?使用一个优于另一个是否有优势?
Teh*_*ike 12
LOAD DATA INFILE是一个MySQL查询,完全独立于PHPMyAdmin.
CSV导入可能涉及将文件上载到PHPMyAdmin服务器,在该服务器中它解析文件并构建一系列要对服务器运行的INSERT语句.
就个人而言,我不相信PHPMyAdmin所做的任何事情;-) - 但是,实际性能可能取决于您的表结构和数据.
但是,我会注意到,当从LOAD DATA INFILE命令插入数据时,MySQL会获得一些非常有效的快捷方式.
小智 5
如上所述,该LOAD DATA选项实际上告诉 phpMyAdmin 使用 MySQL 命令让 MySQL 解析并加载文件,而不是 phpMyAdmin 首先解析它。
如上所述,如果您对文件本身的来源和准确性没有 100% 的安全感,那么授予 MySQL 访问权限来加载文件可能会很危险。就像使用没有sql注入保护的php表单来插入数据一样。
然而,在某些情况下,phpMyAdmin 无法正确格式化数据,或者在CSV使用常规 " 选项时无法解析数据。这将导致无法解释的错误,例如“第 N 行格式无效”或“第 N 行字段计数不正确”这些可能不是确切的错误消息,因为我目前还没有登录 phpMyAdmin。在这些情况下,LOAD DATA可以使用该选项来传递错误。我认为额外的选项Use local keyword与确保正确的命令有关使用本地服务器上特定版本的 MySQL。但不确定最后一部分。
需要记住的一点是文件的大小(导入的行数),即使使用该LOAD DATA选项才能使其通过,我也必须将 1600 行文件分解为更小的文件。它没有给出错误,但当文件太大时,“受影响的行”不正确。
| 归档时间: |
|
| 查看次数: |
20548 次 |
| 最近记录: |