Py学习  »  DATABASE

查询1800万行以上mysql数据库的替代解决方案

AK91 • 5 年前 • 1537 次点击  

试图查询一个超过1800万行的mysql表。我只需要一个简单的:

select date, url, count(*) from table
where date > '2018-01-01' and date < current_date

但15-20分钟后就崩溃了。我尝试使用pandas模块在python中连接到db,然后将一天的数据附加到一个空数据框中。但仍然坐在那里玩弄我的拇指…

import pandas as pd
import pymysql
import time

conn = pymysql.connect(...)

result = []
for date in pd.date_range(start='01/01/2019', end=pd.to_datetime(time.strftime('%d/%m/%Y'))):
    query = ("select * from table where time >= '{}' and time < '{}'").format(date, date + pd.DateOffset(days=1))
    df = pd.read_sql(query, con=conn)
    result.append(df)
pd.concat(result,axis=0)
print(result)

我有什么办法把这些数据拿出来? 主要目的是把这些数据放到表格里,然后从那里取出来…

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46580
 
1537 次点击  
文章 [ 2 ]  |  最新文章 5 年前