Базы данных оптимизированы для операций на основе множеств, поэтому да, было бы быстрее вставить 100 записей в набор, чем по одной за раз. Однако, когда вы говорите о пользователях, вводящих записи по одному, вы не захотите группировать их вместе ни при каких обстоятельствах, о которых я могу подумать. Зачем?
Во-первых, если бы была одна плохая запись, остальные потерпели бы неудачу. Это сделало бы 99 капризных пользователей из 100 (на самом деле 100, но у кого-то на самом деле не было бы причины быть капризным, потому что он сделал неправильный ввод данных для начала).
Во-вторых, пользователи не увидят записи сразу после ввода. Также верно, что они не смогут что-то делать с этими записями до тех пор, пока они не будут введены, например, ввести данные в связанные таблицы. Такая задержка привела бы пользователей в замешательство. Если пользователи вводят данные от клиентов через телефонный звонок, они будут особенно капризны в ожидании (я работал в колл-центре с ужасно медленным коммерческим продуктом и, поверьте мне, я знаю, как расстроились пользователи, привыкшие получать!)
В-третьих, пользователи будут переходить к чему-то другому и не осознают, что их данные были отклонены за недостоверную информацию, что вовсе не является хорошей вещью.
Как долго вы будете ждать, чтобы получить установленное количество записей? 5 секунд, десять минут?
Что произойдет, если по какой-либо причине соединение с сетью будет потеряно в течение этого времени, пользователи не потеряют введенные данные.