How do I break my query result into smaller chunks
According to https://www.drupal.org/node/1848368


  Queries may also be restricted to a certain subset of the records
  found. In general this is known as a "range query". In MySQL, this is
  implemented using the LIMIT clause. To limit the range of a query, use
  the range() method, which takes two arguments: the first specifies
  offset and the second specifies limit
  
  In most cases we want "the first n records". To do that, pass 0 as the
  first argument and n as the second.

&lt;?php
// Limit the result to 10 records
// where 0 is offset and 10 is limit
$query-&gt;range(0, 10);
?&gt;

  
  The following example will instruct the result set to start at the 6th
  record found (the count starts at 0) rather than the first, and to
  return only 10 records.

&lt;?php
$query-&gt;range(5, 10);
?&gt;

  
  Calling the range() method a second time will overwrite previous
  values. Calling it with no parameters will remove all range
  restrictions on the query.