SDO and database reads

From previous discussions on the board, I realise that the RowsToBatch setting on an SDO does not specify records to be read from the database. Rather it limits the records sent from the server to the client.
That withstanding, can someone explain the following:

I have 2 SDO's on the screen.

If I set both SDO rowsToBatch to 2, there are 12 record reads on screen initialisation.

If I link the two SDO's using foreign fields, I get 69 record reads.

If I lower the rowstoBatch on the secondary SDO to 1, I get 11 (unlinked) and 15 (linked) record reads.

Given that the query is unchanged by the rowsToBatch setting, why the differences in record reads?
 
Top