【问题标题】:Converting Oracle SQL join query into MySQL query将 Oracle SQL 连接查询转换为 MySQL 查询
【发布时间】:2012-06-08 00:41:31
【问题描述】:

鉴于 Oracle Pl/SQL 中的以下联接:

select a.field1, b.field1, b.field2
from table_a a, table_b b
where a.field2 = b.field3;

在 MySQL 中执行此代码时,完成任务需要很长时间,而在 Pl/SQL 中则不需要时间。两个环境中的表相同。没有字段被索引。

这两种方言的连接有区别吗?这在标准 SQL 中的正确翻译是什么?

【问题讨论】:

  • 这不是真正的JOIN,这种方法更慢,因为JOIN你可以使用select a.field1, b.field1, b.field2 from table_a a inner join table_b b where a.field2 = b.field3
  • 所以你的意思是'join...on'会给出同样的结果?

标签: mysql sql oracle join


【解决方案1】:

MySQL 无法应对没有索引的问题。 Oracle 可以进行散列连接并且仍然很快。在连接列上添加索引。

【讨论】:

    【解决方案2】:

    您需要 MySql 中的索引来避免您面临的问题。

    【讨论】:

      猜你喜欢
      • 2019-07-29
      • 2018-11-01
      • 2013-07-10
      • 2015-10-03
      • 1970-01-01
      • 2011-06-12
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多