Everything You Need to Know About Truncating a Table in SQL

Learn everything you need to know about truncating tables in SQL including how it works and its advantages over using DELETE statements.

Everything You Need to Know About Truncating a Table in SQL

The SQL truncate TABLE command is used to delete all data from an existing table. It is similar to the DROP TABLE command, which deletes the entire table, but the TRUNCATE TABLE command only removes data from a table, not the table itself. The SQL TRUNCATE TABLE statement is used to delete all records in a table, performing the same function as a DELETE statement without a WHERE clause. It deletes all rows in a table or specified partitions of a table, without recording deletions of individual rows.

TRUNCATE TABLE is faster and uses fewer system log and transaction resources than the DELETE statement. Let's create a sample table and fill in some records to demonstrate the different aspects of TRUNCATE using the following T-SQL code. But once you're done, you can go ahead and import your new data into your table (after TRUNCATE) or you can create a new table (after DROP).


a table can be faster and doesn't affect any of the table's indexes, triggers, or dependencies. This means that during TRUNCATE it will be recorded minimally in the transaction log than the DELETE statement. The WITH (PARTITIONS (2, 4, 6 TO) syntax causes partition numbers 2, 4, 6, 7, and 8 to be truncated.

If you need to add a table name prefix to the database name, you can retype TRUNCATE TABLE as follows. Therefore, if your system needs to remove the trigger in order for it to fire, the TRUNCATE TABLE statement should not be issued. Tables with more than 128 extensions can be deleted or truncated in Microsoft SQL Server without requiring simultaneous locks on all extensions required for deletion. Because when the TRUNCATE statement is executed, fewer transaction log resources are used, the rollback transaction will take less time than the DELETE statement, even if the table has a large number of records. TRUNCATE TABLE removes all rows from a table, but the structure of the table and its columns, constraints, indexes, etc.

remain. To truncate a partitioned table, the table and indexes must be aligned (partitioned in the same partitioning function). The TRUNCATE TABLE statement in SQL is a data definition language (DDL) operation that labels the extensions of a table for DE mapping (empty for reuse).TRUNCATE TABLE removes the data by de-allocating the data pages used to store the table data and records only page deallocations in the transaction log. Fortunately, SQL provides the TRUNCATE TABLE statement that allows you to delete all rows from a table more efficiently.

Using this statement offers several advantages when compared to using the DELETE statement in some database management systems such as Microsoft SQL Server, Oracle and MySQL. In conclusion, truncating tables is an efficient way to delete all records from an existing table without affecting its structure or other components such as indexes and triggers. It is also faster than using DELETE statements and uses fewer system log and transaction resources.

Charlotte Wilson
Charlotte Wilson

Friendly travel advocate. Freelance zombie scholar. Extreme web practitioner. Evil coffee buff. Professional beer practitioner.

Leave Reply

Required fields are marked *