¿Cuál es la mejor manera de insertar varias filas en PHP PDO MYSQL?

Digamos que tenemos múltiples filas para insertar en una tabla:

$rows = [(1,2,3), (4,5,6), (7,8,9) ... ] //[ array of values ];

Usando PDO:

$sql = "insert into `table_name` (col1, col2, col3) values (?, ?, ?)" ;

Ahora, ¿cómo debe proceder al insertar las filas? ¿Me gusta esto?

$stmt = $db->prepare($sql);

foreach($rows as $row){
  $stmt->execute($row);
}

¿o así?

$sql = "insert into `table_name` (col1, col2, col3) values ";
$sql .= //not sure the best way to concatenate all the values, use implode?
$db->prepare($sql)->execute();

¿Qué camino sería más rápido y seguro? ¿Cuál es la mejor manera de insertar varias filas?

Respuestas a la pregunta(4)

Su respuesta a la pregunta