любезно просвещенный меня, который работает быстрее/лучше или точно так же между CI batch insert и вставкой петли.mysql insert batch vs. insert loop (codeigniter)
$data = array(
array(
'title' => 'My title' ,
'name' => 'My Name' ,
'date' => 'My date'
),
array(
'title' => 'Another title' ,
'name' => 'Another Name' ,
'date' => 'Another date'
)
);
партия вставки:
$this->db->insert_batch('mytable', $data);
/* produces: INSERT INTO mytable (title, name, date)
VALUES ('My title', 'My name', 'My date'),
('Another title', 'Another name', 'Another date'); */
петля вставки (PHP):
for($i = 0; $ < count($data); $i++)
{
INSERT INTO mytable (title, name, date)
VALUES ($data[$i]['title'], $data[$i]['name'], $data[$i]['date'])
}
спасибо!
Я бы порекомендовал пакетную вставку или вставку с транзакциями, где вы запустили все свои вставки перед тем, как приступить. – Zarathuztra
Партия должна быть быстрее. Каждый вызов для вставки связан с служебными данными. Одна вставка со многими строками обычно быстрее. –