700 записей, затем коммит
Инсерт идет - 35 минут.
При этом процесс клиента загружен всего на 5%, сервера на 12% .....
Как то медленно .... можно ускроить?
Дичь какая-то
А Вы пробовали проверить, не клиент ли это тормозит? Т.е. создать .sql файл с этой транзакцией: BEGIN TRASACTION; PREPARE foo <этот инсерт>; EXECUTE foo(<параметры)>; -- и так 700 строк COMMIT; И выполнить его "psql -f"? А вообще, что схема, что statement у Вас как-то не очень (использование money и CAST-ы), но это другой вопрос...
Сервер-то чем занят? По процессам достаточно посмотреть, кто ресурс ест и какой. Обычно это iowait и пользуют его vacuum и checkpointer. (Что практически не связано с запросом, которым вы отдали данные базе.) Но и констрейнт может притормаживать.
Обсуждают сегодня