使用 CodeIgniter 的模型类进行批量插入
将大量数据插入数据库可能是一个耗时的过程。传统上,一种方法涉及执行一系列单独的插入命令,这可能效率低下且占用资源。
为了优化此过程,可以使用单个查询一次插入多行。在 CodeIgniter 中,可以使用 Model 类来实现。
构造查询
单个查询插入多行的关键在于正确组装 SQL 语句。您可以使用数组赋值和内爆函数,而不是将每个值附加到长字符串。
$data = [ ['text' => 'foo', 'category_id' => 1], ['text' => 'bar', 'category_id' => 2], // ... ]; $sql = []; foreach ($data as $row) { $sql[] = '("' . mysql_real_escape_string($row['text']) . '", ' . $row['category_id'] . ')'; } $sql = implode(',', $sql);
执行查询
构造 SQL 语句后,您可以使用 Model 类的查询来执行它方法:
$this->db->query('INSERT INTO table (text, category_id) VALUES ' . $sql);
批量插入的好处
使用批量插入技术有几个优点:
以上是CodeIgniter 的模型类如何优化批量数据库插入?的详细内容。更多信息请关注PHP中文网其他相关文章!