Repeatedly emptying a table, keeping the table itself
My short answer is:

Use truncate if you do not see any errors (because truncate cannot be used in many scenarios, such as the table is referenced or the table is in replication, but you will get error in such cases)

The advantages of truncate (over delete esp. in your repeated deletion case) are:


fast as it does not involve big overhead of transaction logging.
much smaller footprint on database log.


Hope this helps !