gpt4 book ai didi

php - mysql 插入批处理与插入循环 (codeigniter)

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:16 24 4
gpt4 key购买 nike

请启发我,这是更快/更好的方法还是在CI batch insert之间是一样的和循环插入。

$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'])
}

谢谢!

最佳答案

批量插入通常更快,因为它们一次性处理数据,因为 INSERT 有一些开销(例如,SQL 优化器不能扣除某些步骤)。也就是说,您需要处理大量行才能产生显着差异。

如果您好奇它是否重要,那么不要忘记测量框架将类映射到数据库表所花费的时间。 ORM 很有可能比循环 SQL INSERT 消耗更多资源。

关于php - mysql 插入批处理与插入循环 (codeigniter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21567876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com