Repeatedly emptying a table, keeping the table itself I have been using "delete from table_xyz" to delete everything in the table. Would it be better to instead use truncate? What difference does it make?
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 !