【发布时间】:2020-08-31 12:27:14
【问题描述】:
我有一个 mysql 数据库。这是一个非常庞大的数据库。当我选择具有 1M 记录的数据时,我应该在磁盘上制作 csv 文件。 我制作 PHP 脚本。但是它被Linux杀死了。 如何快速制作PHP脚本?
$batches = $itemcount / 50000;
for ($i = 0; $i <= $batches; $i++) {
$offset = $i * 50000;
$sql = $sql_org . " LIMIT $offset, 50000 ";
$stmt = $db->prepare($sql);
if($stmt) {
if($stmt->execute()) {
$stmt->bind_result($FIRSTNAME, $LASTNAME, $PHONE....
【问题讨论】:
-
是的。这不是执行时间。我在终端中运行 PHP 脚本。
-
有1M条记录。所以就发生了内存溢出。
-
也许以 10,000 个为一组或任何可行的方式执行,每次都附加到 CSV。
-
使用类似
SELECT blah blah FROM foo WHERE what INTO OUTFILE 'file.csv' FIELDS ENCLOSED BY '"' TERMINATED BY ';' ESCAPED BY '"' LINES TERMINATED BY '\r\n';的东西你不需要PHP。