Say I'm executing a query with a subquery in the select clause:
select Name, (select FirstName, LastName from Contact)
from Account where BillingStateCode='NY'
Per this, I'm limited to 10 QueryLocator cursors. But per this (and I'm pretty sure it works the same with SOAP), I get a separate QueryLocator to paginate a list of Contacts for each Account record.
Do child QueryLocator objects count toward the total number of cursors, and if so, won't I immediately blow by the limit, as each batch will have 200-2000 accounts?
Also, does Salesforce really create a separate DB cursor for each Account object to retrieve the child Contact records? That seems horribly inefficient...