0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 69
1

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

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

Author24 — интернет-сервис помощи студентам
Добавляю из папки 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2020, 12:19
Ответы с готовыми решениями:

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

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

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

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

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

4
Заклинатель змей
700 / 555 / 219
Регистрация: 30.04.2016
Сообщений: 2,591
22.03.2020, 12:41 2
Jhonat, покажите структуру базы. В целом, это неудивительно -- постргес прожорлив на ресурсы и если у Вас слабая машина, то будет тупить
0
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 69
22.03.2020, 13:18  [ТС] 3
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  [ТС] 4
в момент заливки так
Миниатюры
Долго добавляет в базу  
0
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 69
22.03.2020, 13:22  [ТС] 5
картина в пгадмин
Миниатюры
Долго добавляет в базу  
0
22.03.2020, 13:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2020, 13:22
Помогаю со студенческими работами здесь

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

Не добавляет данные в базу
Столкнулся с проблемой, если в поле есть такой знак ' то insert into не работает. $id =...

Не добавляет данные в базу
Здравствуйте написал вот такой запрос на при нажатии на кнопку нечего недобавляется в базу. <?...

Не добавляет в базу данных
Добрый день. Php изучаю совсем недавно и вот столкнулся с проблемой. Не могу добавить данные в базу...

Не добавляет данные в базу
вот сам код: $product = $_SERVER; $name = $_POST; $phone = $_POST; $delivery =...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru