我有一个偶尔重建的缓存表:
$Sql = 'INSERT INTO someTable (...fields...) VALUES (...values...)';
$stmt = $pdo->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$items_to_insert[] = array();
foreach ($item as $i) {
$details = array();
// Lots of things here, such as:
$details[':username'] = $['username'];
$items_to_insert[] = $details
}
foreach ($items_to_insert as $i) {
$stmt->execute($i);
}
我应该考虑什么$stmt->execute()
来决定在第一个运行foreach
并消除第二个foreach
和$items_to_insert
阵列是否会更好?有没有办法让下一个循环execute()
同时运行?foreach
这是针对可能在各种硬件上运行的应用程序,因此我对在我的工作站上进行基准测试的特定情况不感兴趣,而是对了解情况的复杂性以更好地利用 PDO 最佳实践感兴趣。