查询的拆分结果

I have an application using html, javascript w/jquery and php in the server side. The application sends $.ajax() requisitions to the server (php files) that then returns to me a result.

What happens, it's that I have a very big sql query that it's taking too long to load because of the number of rows returned and because some conversions that I have to do to them.

How can I split this big query in small others?

Or how can I do a small query, show it results then do another query that begins from the position that the other stopped?(without duplicating the results).

ps: I already tried array_chunk but it wont't worked. It's shows me the same number of rows. When I tried to show via javascript, it returns me as undefined

Here is a fragment of code:(.php)

//I made the connetion and all the queries using PDO
    $sql = $pdo->prepare("SELECT field1,field2,field3,field4 FROM table WHERE st <> 'C-CONDITION' ");
    $sql->execute();

    $result = $sql->fetchAll();

    $answer['dt'] = $r;     
    //here i'm sending the result to the client(javascript) on JSON format.
    echo json_encode($retorno,JSON_PRETTY_PRINT);