Any method certainly costs workload units.
If you define a view that includes the records you want to delete, you can then delete the view’s records all at once.