http://www.perlmonks.org?node_id=529404


in reply to (OT) perl, memory and mysql

Of course you are running out of memory. Your query is generating five cartesian products!

If you don't set a join clause for each table, your query will be producing a huge number of rows. And this would slurp up all your available resources, no matter which DBMS you are using.

For example, if each table had 50 rows, then your query would generate 15,625,000,000 (fifteen billion rows).
With 100 rows per table, you'd get 1,000,000,000,000 rows (one thousand billion rows!). You get the idea.

Go get a SQL tutorial before continuing any further.