When I have had issues with downloading data that is too large; I create a Role and restrict access to the records based on the criteria I need. Then I can assign a User to that Role for the download function. This might be a temporary-solution for you to meet your needs; but will still require a manual effort to keep changing the Role Access Permissions criteria between each download. I usually only deploy this when I am backing up an entire table that is over 500k records. Make sure, if you do this, you either make sure the Role you create has administrative-features so you can modify and change your Role back to your default role after the download process.