Форум программистов, компьютерный форум, киберфорум
Python: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 69

Долго добавляет в базу

22.03.2020, 12:19. Показов 559. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добавляю из папки txt файлы в базу, всего один столбец.

При количестве записей в базе около 100млн строки начинают добавляться очень медленно. Параллельно никаких операций чтения/записи нет

Зависит ли скорость записи от количества строк в базе или причина в чем то другом?
База postgres, добавляю локально. Всего надо добавить 1.5 миллиарда строк

Добавляю так

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
folder = "folder"
    a = os.listdir(path=folder)
    l = len(a)
    d = 0
    for i in a:
        d+=1
        count = 0
        data = []
        with open(folder+'/'+i, encoding="utf-8", errors='ignore') as f:
            print('open')
            for line in f:
                count += 1
                data.append([line.replace('\n', ''), i])
                if count == 30000: # тут пробовал много вариантов от 30000 до миллиона
                    add(data)
                    data.clear()
                    count = 0
            if len (data) != 0:
                add(data)
                data.clear ()
Python
1
2
3
4
5
6
def add(data):
        conn = psycopg2.connect (config.CONN_STRING)
        cursor = conn.cursor()
        cursor.executemany('INSERT INTO test VALUES(%s,%s);', data)
        conn.commit()
        conn.close()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.03.2020, 12:19
Ответы с готовыми решениями:

Python pymysql не добавляет в базу данных запись
Добрый день. Такая проблема. Имеется база данных созданная в phpmyadmin. Программа подключается к этой базе данных. У меня получилось...

Бот выдает ошибку при и не добавляет значение в базу данных
вот код @bot.message_handler(commands=) def reg1(message): try: msg = bot.send_message(message.chat.id, "Ваш...

Не добавляет в базу
Здравствуйте, я новичок в php, пытаюсь добавить новую запись в таблицу, но к сожалению не получается. Вот что я сделал: 1. Подключил...

4
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
22.03.2020, 12:41
Jhonat, покажите структуру базы. В целом, это неудивительно -- постргес прожорлив на ресурсы и если у Вас слабая машина, то будет тупить
0
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 69
22.03.2020, 13:18  [ТС]
DobroAlex,

Python
1
2
3
4
5
6
7
8
9
10
conn = psycopg2.connect(config)
    cursor = conn.cursor()
    cursor.execute("""
                CREATE TABLE data(
                    mails    TEXT,
                    source TEXT
                );
            """)
    conn.commit()
    print('create OK: ' )
После создания добавил индекс
SQL
1
CREATE INDEX index_name ON DATA(mails, SOURCE);
диск 2тб ссд, 8гб рам, в конфиге постгреса отдал ему 4гб
0
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 69
22.03.2020, 13:20  [ТС]
в момент заливки так
Миниатюры
Долго добавляет в базу  
0
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 69
22.03.2020, 13:22  [ТС]
картина в пгадмин
Миниатюры
Долго добавляет в базу  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.03.2020, 13:22
Помогаю со студенческими работами здесь

Не добавляет в базу
здравствуйте можете подсказать в чём тут дело?я вот написал скрипт добавления баннера на сайт и в таблице у меня указано поле place и img и...

Не добавляет в базу WP
Здравствуйте, я новичок в php, пытаюсь добавить новую запись в таблицу, но к сожалению не получается. Сайт на движке wordpress Вот что...

Не добавляет в базу ДБ
Вот посмотрите скрипт мож что я не так делаю... помоему всё работает как нужно... при нажатии на кнопку изчезает табличка с регой это...

Не добавляет данные в базу
Столкнулся с проблемой, если в поле есть такой знак ' то insert into не работает. $id = ((mysql_num_rows($result))+1); $name...

Не добавляет данные в базу
Здравствуйте написал вот такой запрос на при нажатии на кнопку нечего недобавляется в базу. <? include("in/bd.php"); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru