Mysql может делать несколько обновлений или вставок.Обычно в шаблон Active Record вы вставляете одну за другой, но для массовых обновлений или вставок вы можете сделать это.
$sql = "INSERT INTO table (id,Col1,Col2) VALUES (1,1,1),(2,2,3),(3,9,3),(4,10,12) ON DUPLICATE KEY UPDATE Col1=VALUES(Col1),Col2=VALUES(Col2);";
$this->db->query($sql);