【问题标题】:MySQL join performance vs correlated queriesMySQL 连接性能与相关查询
【发布时间】:2023-03-13 15:05:01
【问题描述】:

我想知道在 MySQL 查询中,“普通”内部连接是否会比列出所有表然后使用“and t1.t2id = t2.id”等连接它们的简单查询更高的执行性能。 .

【问题讨论】:

标签: mysql performance join


【解决方案1】:

执行计划和运行时是一样的。 一种称为 ANSI 样式(INNER JOIN、LEFT、RIGHT),另一种称为 Theta 样式。

这两个查询在各方面都等同于 mysql 服务器

SELECT * FROM A INNER JOIN B ON A.ID = B.ID;

SELECT * FROM A, B WHERE A.ID = B.ID;

您可以通过在两个查询前输入 EXPLAIN 来测试,返回的结果应该是相同的。

【讨论】:

  • @yada 我会对更多信息感兴趣。我猜是因为mysql的优化,它们是一样的?
  • 只是风格不同。就像在 SQL 中创建 cmets 有两种方法——或 /* */。在谷歌上搜索 Theta vs ANSI SQL Style。 86db1.com/sql-join-syntax-theta-vs-ansi
  • FWIW,ANSI SQL 标准支持这两种语法形式。
  • 谢谢,这比我要求的还要多。我不知道它甚至被指定为相同的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
  • 2011-04-20
相关资源
最近更新 更多