Efficient method for removing millions of records from a small MySQL database

Hey everyone, I’m new to databases and need some advice. I’m working with a small MySQL DB (2GB memory, 1vCPU) on Digital Ocean. I’ve got about 15 million seed rows across 4 tables that I need to delete quickly.

Right now, it’s taking around 13 hours to remove these rows. That’s way too slow for what I need. I’m looking for a faster way to do this without any downtime.

Here’s what I’m thinking of trying:

  1. Create a partition based on a new column
  2. Put all the seed data in this partition
  3. Drop the partition to remove the seed data

Does this sound like a good plan? Or is there a better way to handle this? I’m worried about messing with the table structure, but I really need to speed things up.

Any tips or suggestions would be super helpful. Thanks!