我有一个包含两个表的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做事会更快。是我这样做的方式,还是这可能是机器相关的问题?