当前位置: 首页 > 面试题库 >

哪个是有效的,使用sql联接查询或使用pandas合并查询?

艾灿
2023-03-14
问题内容

我想使用中的多个表中的数据pandas dataframe。我有两种从服务器下载数据的想法,一种方法是SQL使用联接和检索数据,一种方法是分别下载数据帧并使用pandas.merge合并它们。

当我想将数据下载到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)

熊猫合并

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')

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


问题答案:

前者比后者快。前者仅需对数据库进行一次调用,并返回已加入并已过滤的结果。但是,后者对数据库进行两次调用,然后将结果集合并到应用程序/程序中。



 类似资料:
  • 问题内容: 我必须更新一个值,该值由3个表的联接返回。 例子: 我想用其他在上述条件下加入的值来更新表的字段值。 如何在MS SQL Server中执行此操作? 问题答案: 为了清楚起见…该子句可以引用该子句中指定的表别名。所以在这种情况下是有效的 通用示例

  • 问题内容: 第一次问有关Stack Overflow的问题…令人惊讶的资源,但是有一点让我作为SQL的新手感到困惑。 我有三个表,我想获取与鲍勃的学生相关的所有导师的姓名。 表1:老师 表2:学生 表3:MENTOR_RELATIONSHIPS 表4:导师 我想查询一下鲍勃学生的所有导师。因此,所有学生的导师 在这种情况下,肖恩就是结果。 我知道这与Joins有关,还是可以使用常规查询找到它??

  • 我是微软图形API的新手。我们的应用程序要求根据预期主题收集最新电子邮件,并收集电子邮件附件(CSV格式)。 当使用下面的查询时,但是使用2个GET请求时,这已经很好了: 首先是收集最新的电子邮件: https://graph.microsoft.com/v1.0/me/messages?$select=id,有附件 第二种是通过传递从第一个查询返回的id来收集附件: https://graph.

  • 问题内容: 对于开发人员何时使用联接而不是子查询是否有经验法则还是相同的? 问题答案: 取决于RDBMS。您应该比较两个查询的执行计划。 根据我对Oracle 10和11的经验,执行计划始终是相同的。

  • 我正在使用hibernate映射来自mysql数据库的数据。 以下是我的查询: 并得到一个错误: Apache Tomcat/7.0.23-错误报告 键入异常报告 注意可获得根本原因的完整堆栈跟踪

  • 本文向大家介绍使用Pandas合并,联接和连接DataFrame,包括了使用Pandas合并,联接和连接DataFrame的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将学习使用pandas 库合并,联接和连接DataFrame 。我认为您已经熟悉数据框和熊猫库。让我们一一看这三个操作。 合并 我们有一个名为pandas.merge()的方法,该方法类似于数据库联接操作 来合并数据帧。