我已经阅读了 61 table join limit在 MySQL 5 中,但我不确定它如何应用于以下内容:
SELECT * FROM (
SELECT * FROM tableA JOIN // Lots of other joins here...
UNION
SELECT * FROM tableB JOIN // Lots of other joins here...
UNION
SELECT * FROM tableC JOIN // Lots of other joins here...
// etc...
)
我会在所有子查询中达到总共 61 个表的限制,还是每个 UNION 子查询达到 61 个表?
这是否因数据库而异,例如PostgreSQL、MSSQL、Oracle?
最佳答案
每个子查询似乎是 61。这是一个演示这一点的 fiddle 。
http://sqlfiddle.com/#!2/2b219/5
我有一个只有一行的简单表格:
id | value
1 | testvalue
第一个查询只是表。
第二个查询将表与自身连接 61 次。它工作正常。
第三个查询有一个包含 61 个连接的子查询,它本身又与表连接了一次。它工作正常。
第四个查询连接表 62 次。它失败了。
关于mysql - SQL连接表的最大数量限制是应用于整个查询,还是单独计算子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11953995/