Это лучше, потому что:
— не тратится время на соединение с базой данных и анализа SQL запроса каждый раз
— в MyISAM транзакций нету, хотя этот тип таблиц так же очень широко используется
можно, но не знаю будет ли Вам удобно работать с Raw Sql если нужно вставить хотя бы 20 строк в базу. А что если нужно учесть связи и сделать вставку еще в одну таблицу при этом не забыть взять ID строк, которые уже вставлены?
Колекционируем данные или учим Doctrine делать multiple insert