mysql - 将 Oracle SQL 连接查询转换为 MySQL 查询

标签 mysql sql oracle join

给定 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 中的正确翻译是什么?

最佳答案

MySQL 无法处理没有索引的情况。 Oracle 可以进行散列连接并且速度仍然很快。在连接列上添加索引。

关于mysql - 将 Oracle SQL 连接查询转换为 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10872879/

相关文章:

mysql - 选择 'most appropriate' 记录的 SQL 条件逻辑

java - 如何将日期插入mysql?

MySQL IF THEN 在 WHERE 子句中

mysql - 如何在 SQL 中定义一个表,其中 2 个字段是非空(强制)依赖的?

sql - 更新 sql 表中的特定行

java - 通过 Oracle 的 Unix 命令

mysql - 将一列的值复制到另一列,但仅限于字段没有值的情况 MySQL

MYSQL 选择超过 1 天的记录

mysql - 从 MySQL/oracle 中的多个表计数

sql - 复制一个有索引但没有数据的 Oracle 表