phpMyAdmin的数据导入的性能问题(PhpMyAdmin data import perfor

2019-06-24 09:44发布

本来,我的问题是有关的事实,phpMyAdmin的的SQL部分而不能正常工作。 正如评论所说,我意识到,这是输入量无法处理。 然而,这并没有给我提供的如何处理有文件一个有效的解决方案(在我的情况 - 35000个的记录行)(CSV)的格式:

...
20120509,126,1590.6,0
20120509,127,1590.7,1
20120509,129,1590.7,6
...

在phpMyAdmin导入选项挣扎,就像在SQL部分基本复制粘贴输入一样。 这一次,与上文相同的,它需要5分钟,直到最长执行时间被称为然后停止。 有趣的是寿,它增加了像6-7千的记录到表中。 因此,这意味着输入的实际经历和做几乎成功。 我也试过在文件中的数据减半的量。 然而,一切都没有改变。

很明显,现在有些不妥。 这是很烦人有在PHP脚本中的数据时播放简单的数据导入是不行的。

Answer 1:

改变你的PHP上传最大尺寸。

你知道你的php.ini文件?

首先,尽量把这个文件到你的Web根目录:

phpinfo.php

(见http://php.net/manual/en/function.phpinfo.php )

含:

<?php

phpinfo();

?>

然后导航到http://www.yoursite.com/phpinfo.php

寻找“的php.ini”。

要上传大文件,你需要的max_execution_time,的post_max_size,upload_max_filesize的

另外,你知道你的error.log文件是什么? 这将有望给你一个线索什么错误。

编辑:

下面是我使用的文件导入查询:

$query = "LOAD DATA LOCAL INFILE '$file_name' INTO TABLE `$table_name` FIELDS TERMINATED BY ',' OPTIONALLY
    ENCLOSED BY '\"' LINES TERMINATED BY '$nl'";

其中$ file_name是从PHP全局变量$ _FILES的临时文件名,$ table_name是已经进口编制表,$ NL是为CSV行结束到Windows行尾变量(默认值,但我有一个选项,选择linux行结局)。

另一件事是,该表($表名)在我的脚本事先由第一扫描准备CSV文件中确定列类型。 后它确定适当的列类型,它创建MySQL表以接收数据。

我建议你试试先创建MySQL表的定义,来匹配(数据类型,字符长度等),什么是在文件中。 然后尝试上面的查询,看看它运行的速度有多快。 我不知道有多少的因素MySQL的表定义是速度。

另外,我有没有在表中定义后,才将数据加载索引。 索引减慢数据加载。



文章来源: PhpMyAdmin data import performance issues