TGViewer
Аналитика данных / Data Study Аналитика данных / Data Study @data_study · 9.47K subscribers
Post #1027 3.5K
Эффективная загрузка данных в PostgreSQL с помощью Python

В этот раз на курсе ученица столкнулась с задачей загрузки своего датасета в базу данных PostgreSQL. Все бы ничего, это типичная задача, через которую проходят ученики, но здесь повлиял объем исходных данных. На входе был json файл объемом 150Мб, который если преобразовать в формат таблицы, то получится 8.9 млн строк. Не Big Data, но и не маленькая экселька на самом деле.

Мы сравнили разные методы загрузки такого датасета в одну и ту же базу данных в пустые таблицы и вот что получилось:

Самый быстрый метод - COPY (выполнился за 25 секунд). Если вкратце описать его особенность, то этот механизм специально предназначен для массовой вставки данных внутри одного запроса к серверу базы данных, в отличие от INSERT команды, где каждая вставка будет обрабатываться сервером как отдельный запрос (или группы запросов) и проходить дополнительно разбор sql команды через планировщик базы данных, что также ест ресурсы.

Для COPY предварительно пришлось преобразовать датафрейм в .csv файл, чего например не нужно делать с удобным методом to_sql.
Кстати, для всех остальных методов вставки которые помню нужно отдельно сначала создать таблицу с помощью CREATE TABLE, потом уже выполнять вставку. Метод to_sql сам создает таблицу, если ее в базе данных не существует.

Но часто без INSERT не обойтись, когда например важно вставлять данные часто и небольшими частями, не сохраняя их при этом предварительно в виде файла.

Результаты разных способом по длительности выполнения можете оценить на скрине. 👍 если возьмете себе на заметку
  • ❤ 28
  • 👍 19
More from @data_study
  1. Sep 27, 2026Post #1504
  2. Sep 26, 2026AI ассистентов много не бывает... Установил себе в VS Code еще один плагин SourceCraft, эт…
  3. Sep 24, 2026Поставил себе цель закрывать кружок активности каждый день Листая статистику в приложении…
  4. Sep 23, 2026Давно Маркизы не было в ленте, уверен вы соскучились по шоколадной булке ♥️ P.S. вы ей тож…
  5. Sep 22, 2026Задумываетесь ли вы, что AI-агенты уже сейчас сами принимают решения в физическом мире? И…
  6. Sep 21, 2026Команда DevCrowd запустила ежегодное исследование специалистов по работе с данными. В этом…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →