3 потока(пусть это будут горутины на go), которые выполняют вставку(30к строк за раз) данных в одну таблицу, так вот, вставка будет параллельная или последовательная? То есть к примеру все потоки одновременно отправили данные на вставку(одна порция 30к строк ~ 10секунд ), в итоге общее время вставки с точки зрения pg, будет ~30 сек или ~10 сек?
из индексов только pk
А pk какой? Который автоинкремент? Я бы вам посоветовал тест провести)
да, но туда тупо вписывается ид взятый из другой таблицы))
я вот как раз и тестирую и пока не оч пойму)
> в итоге общее время вставки с точки зрения pg, будет ~30 сек или ~10 сек? 10 сек. это если нет обстоятельств которые могут задержать запись (например блокировки или общая перегрузка) не вдаваясь в детали, запись в постгресе буферизованная, все вставки будут сделаны в буферах постгреса (которые в RAM), потом придет фоновый процесс и сбросит все данные на диск - все это прозрачно для клиента. Запись в WAL журнал будет сериализована.
большое спасибо за ответ
Обсуждают сегодня