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:
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
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 !