У меня есть код Python, который пишет вложенный словарь из таблицы в SQLite.Таблица насчитывает около 40 миллионов строк.Во время отладки это выглядит как работа, и когда я запускаю программу, она обрабатывает 1 миллион строк примерно за 30-60 секунд.Однако после того, как он достиг ~ 90% (36 миллионов строк), он замедлился и почти час не печатает, но также не вызывает ошибок.
Код выглядит примерно так:
selection_query = "Select * From my_table"
cursor = conn.cursor()
Cursor.execute(tbl)
dictionary = {}
Counter_1 = 0
row_nr = 0
for row in Cursor:
dict_key_1 = str(row[0])
dict_key_2 = str(row[1])
value = row[5]
Counter_1 += 1
row_nr += 1
if dict_key_1 not in dictionary:
dictionary[dict_key_1]={}
dictionary[dict_key_1].update({dict_key_2 : value})
if Counter_1>1000000:
print(str("{00:.3%}".format(row_nr/4000000)) + str(datetime.now()))
counter=0
Кто-нибудь знает, почему возникает такая проблема?Почему он вдруг так резко замедлился?
Я с нетерпением жду вашей помощи!