Pandas read_ sql занимает слишком много времени в таблице mysql с 50 миллионами записей даже при чтении небольшими порциями - PullRequest
0 голосов
/ 10 марта 2020

У меня есть таблица с 50 миллионами записей в Mysql. Я использую следующую команду для чтения записей 10 за раз, но при этом память выходит за пределы:

# create db connection
sqlEngine       = create_engine('mysql+pymysql://user:password@127.0.0.1/db_name', pool_recycle=3600)
dbConnection    = sqlEngine.connect()

# read data in chunks from large table
sql_query = "select col1, col2 from table_with_50_million_records"
chunks = pd.read_sql(sql_query, dbConnection, index_col=None, chunksize=10)

# iterate over large table in chunks
for chunk in chunks:
    print (chunk)
    break

# close connection
dbConnection.close()

Теперь этот код просто пытается прочитать первые 10 записей из большой таблицы и Выход. Тем не менее, код работает вечно, а память выходит из-под контроля. Как это исправить?

PS: Этот код прекрасно работает, когда я заменяю table_with_50_million_records на table_with_1000_records.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...