Если вы используете Postgresql, вы можете использовать один запрос, чтобы вставить их все, используя pg_copy_from., Или вы можете использовать pg_put_line, как показано в примере (копия из stdin), который я нашел очень полезно при импорте тонн данных.
Если вы используете MySql, вам придется сделать несколько вставок. Не забудьте использовать транзакции, так что если вы используете транзакции, если ваш запрос не будет выполнен, он будет отменен, и вы сможете начать заново. Обратите внимание, что 5000 строк не так велики! Однако вы должны знать об ограничении max_execution_time, которое убьет ваш скрипт через несколько секунд.
Что касается сессии, я считаю, что вы ограничены максимальным объемом памяти, который может использовать скрипт (memory_limit в php.ini). Данные сеанса сохраняются в файлах, поэтому следует учитывать также использование дискового пространства, если подключено много клиентов.