 <p>Are you really fetching so many rows to web server? If yes, review your code to narrow down to what's required.</p> <ol> <li>Try archiving old data to another table based on datetime. Re-write logic to fetch older data only when required.</li> <li>As others have mentioned, indexes / keys should help a mile in most cases</li> </ol> <p>If you can't do any of the above, another ugly solution (not sure if it will not go worse) is to create in-memory table, filter and fetch what's required and then fetch CLOB data.</p>