我正在处理大量数据。这是一个巨大的表,我通过SQL语句从我的php执行联合,并发送到我自己的localhost数据库。我已经解决了这个问题,但我想优化它。它必须在一夜之间合并大约83,000行。
$con = new PDO("pgsql:host, port,dbname, user, password");
$con->beginTransaction(); // cursors require a transaction.
$stmt = $con->prepare($query);
$stmt->execute();
$innerStatement = $con->prepare("FETCH 1 FROM cursor1");
while($innerStatement->execute() && $row = $innerStatement->fetch(PDO::FETCH_ASSOC)) {
insertDataToDB($row);
}
问题:将行改为“FETCH 1000 FROM cursor1”使得我每次都取1000行而不是一行?这会有助于表现吗? 我希望这个更大的操作是一次性的事情。但是将来我将不得不移动少量的数据......由于它依赖于与时间戳的比较,所以查询仍然相当繁重,否则我怎么知道我的数据库是否更新?
谢谢。