我必須在MySQL中每次插入1000行數據。目前,我使用PDO和for-loop逐行插入數據庫。有沒有更有效的方法來實現更好的性能?因爲我必須將max_execution_time設置爲5分鐘。通過PDO插入1000行到MySQL的高效方法
function save()
{
return $query = $this->insert("
INSERT INTO gadata (landing_page, page_title, page_views, visits, visitors, bounce_rate, pageviews_per_visit, time_on_page, avg_time_on_page, day, month, year, hour)
VALUES (:landing_page, :page_title, :page_views, :visits, :visitors, :bounce_rate, :pageviews_per_visit, :time_on_page, :avg_time_on_page, :day, :month, :year, :hour)", $this->data);
}
而且
protected function insert($sql, array $data) {
$q = $this->_db_handler->prepare($sql);
foreach ($data as $k => $v)
{
$q->bindValue(':' . $k, $v);
}
$q->execute();
}
確實的數據具有通過PHP應用要被插入?你可以上傳數據(即一個CSV文件),並使用mysql的本地'load data infile'? – 2013-04-07 12:54:13
1000行很多是強制性的嗎? – user1370510 2013-04-07 12:54:56
是的,我必須從其他Web服務獲取數據,並通過cronjob每天通過php代碼插入到MySQL中。 – hungneox 2013-04-07 12:56:19