[orm] What is the "N+1 selects problem" in ORM (Object-Relational Mapping)?

One millionaire has N cars. You want to get all (4) wheels.

One (1) query loads all the cars, but for each (N) car a separate query is submitted for loading wheels.

Costs:

Assume indexes fit into ram.

1 + N query parsing and planing + index searching AND 1 + N + (N * 4) plate access for loading payload.

Assume indexes don't fit into ram.

Additional costs in worst case 1 + N plate accesses for loading index.

Summary

Bottle neck is plate access (ca. 70 times per second random access on hdd) An eager join select would also access the plate 1 + N + (N * 4) times for payload. So if the indexes fit into ram - no problem, its fast enough because only ram operations involved.