Nick here from Shopify.
Natively within the Shopify admin, it is not possible to bulk delete orders. To delete an order, you first must archive or cancel it, and you can bulk archive orders (Admin > Orders > click on orders you want to archive > Action > Bulk Archive). There is an app however which might be able to do the trick for you here. It's called Excelify and you can find the information about it from the developers own website here.
Once an order has been archived, it will remove any record of it from your Shopify admin. Only orders with the following characteristics can be deleted.
Hope this helps and don't hesitate to ask should you have any other questions about anything.
All the best, Nick
If you're using the GraphQL API you can perform operations in batches of 100. Based on my calculations for deleting metafields, you can delete around 5 objects per second (compared to 2 per second with the REST API rate limiting).
There's a GraphQL mutation draftOrderDelete which might do what you need.
Check out our blog post on batch deleting metafields in Shopify for an example of how you can run a batch of mutations using the GraphQL API.
There seems to be something missing here. In a development shop we may import orders to test imports, and have to delete them. I did a test import on only a few (20) but it's making me delete them one by one and telling me the record is being kept for "tax purposes" - these are not even orders made in Shopify. Seems like a big hole from a developers perspective to not have access to the databases in the development environment.