通过pandas合并与通过SQL内存使用和速度加入

时间:2018-05-24 08:32:38

标签: sql pandas sqlite

我有一个包含两个表的SQLite文件。其中一个表非常大,但是当我对此使用pd.read_sql_table时,df.info()仅提供~4GB的内存使用量。另一个表使用更少的内存。

但是,当我尝试通过SQL查询在两列上合并这两个表,然后通过pd.read_sql_query通过pandas读取结果查询时,我会使用更多更大的内存并且它会使用它。甚至更慢。

query = '''SELECT col1,col2,col3,col4,col5,col6,colC FROM
            (SELECT * FROM table1 INNER JOIN table2 on (table1.col1 = table2.colA AND table1.col2 = table2.colB)'''
df = pd.read_sql_query(query)

我发现这令人惊讶,因为我认为通过SQL做事会更快。是我这样做的方式,还是这可能是机器相关的问题?

0 个答案:

没有答案