I have read about the 61 table join limit in MySQL 5, but I'm not sure how it would apply to the folllowing:
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...
)
Would I hit the limit with 61 tables in total across all the subqueries, or would it be 61 per UNIONed subquery?
Does this vary across DBs e.g. PostgreSQL, MSSQL, Oracle?
It seems to be 61 per subquery. Here's a fiddle demonstrating this.
http://sqlfiddle.com/#!2/2b219/5
I have a simple table with one row:
id | value
1 | testvalue
The first query is just the table.
The second query joins the table with itself 61 times. It works fine.
The third query has a subquery containing 61 joins, which is itself joined with the table one more time. It works fine.
The fourth query joins the table 62 times. It fails.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With