Where to put .limit in .and query

Where do I put the .limit in the following to ensure I get the maximum wanted results?

I am on my mobile so can’t access my code right now, but here is essentially what it does.

let query1 = wixData.query(“collection”).limit(1000).ge(‘field1’,value1).le(‘field1’,value2).ge(‘field2’,value3).le(‘field2’,value4).eq(‘field3’,value5);

let query2 = wixData.query(“collection”).limit(1000).eq(‘field4’,value6).or(wixData.query(“collection”).limit(1000).eq(‘field4’,value7));

let results = query1.and(query2);

What I would like is for query1 to get the initial population and then apply query2.

But not knowing which is executed first or whether all the limits apply I am not sure if I am getting the results I want. So I am trying to get the best 1000 results considering the 1000 return limit.

Does the order of the queries matter in the above approach? Or would it be better to force the order by passing query1 into an array and then applying query2?

Thanks in advance.

I am getting this error right after this query. Not sure if it is related. This is in sandbox.
WebMethod request timed-out after 14 seconds… Did you forget to resolve a promise?