0

我有一个大文件,大约11 Mb. 这是一个 CSV 文件,我需要将该文件的内容加载到 Postgres 数据库中。

我使用 PHP 脚本来完成这项工作,但总是在某个时刻停止。

我为 PHP 内存和其他东西放了大容量,我可以加载更多数据,但不是所有数据。

我该如何解决?我需要清理任何高速缓存吗?在 PHP 中管理大文件的一些秘密?

提前致谢。

更新:添加一些代码

$handler = fopen($fileName, "r");
$dbHandler = pg_connect($databaseConfig);

while (($line = $handler->fgetcsv(";")) !== false) {
    // Algorithms to transform data

    // Adding sql sentences in a variable

    // I am using a "batch" idea that execute all sql formed after 5000 read lines
    // When I reach 5000 read lines, execute my sql
    $results = pg_query($dbHandler, $sql);
}
4

1 回答 1

1

如果您可以直接访问服务器(并且您不使用某些颠覆软件),postgre 有一个更好的选择,它在资源方面的要求要低得多。请记住,php 是一种缓慢且消耗资源的语言

COPY my_table_name FROM '/home/myfile.csv' DELIMITERS ',' CSV
于 2013-02-04T12:57:45.150 回答