哪一个是有效的,使用 sql 连接查询,或使用 Pandas 合并查询?

Meh*_*hdi 8 python sql postgresql pandas

我想在一个pandas dataframe. 我有两个从服务器下载数据的想法,一种方法是使用SQL连接和检索数据,一种方法是单独下载数据帧并使用 pandas.merge 合并它们。

SQL 连接

当我想将数据下载到pandas.

query='''SELECT table1.c1, table2.c2
    FROM table1
    INNER JOIN table2 ON table1.ID=table2.ID where condidtion;'''
df = pd.read_sql(query,engine)
Run Code Online (Sandbox Code Playgroud)

熊猫合并

df1 = pd.read_sql('select c1 from table1 where condition;',engine)
df2 = pd.read_sql('select c2 from table2 where condition;',engine)
df = pd.merge(df1,df2,on='ID', how='inner')
Run Code Online (Sandbox Code Playgroud)

哪个更快?假设我想对 2 个以上的表和 2 列执行此操作。有什么更好的主意吗?如果有必要知道我使用PostgreSQL.

小智 3

前者比后者更快。前者只需对数据库进行一次调用,并返回已连接和过滤的结果。但是,后者对数据库进行两次调用,然后合并应用程序/程序中的结果集。