Guidelines for Deleting Rows - Teradata VantageCloud Lake

Lake - Database Reference

Deployment
VantageCloud
Edition
Lake
Product
Teradata VantageCloud Lake
Release Number
Published
February 2025
ft:locale
en-US
ft:lastEdition
2025-11-21
dita:mapPath
ohi1683672393549.ditamap
dita:ditavalPath
pny1626732985837.ditaval
dita:id
ohi1683672393549

The following table provides guidelines you can use to make the best choice of utilities when deleting rows. You may find a better way through experimenting.

Task First Choice Second Choice
Delete a small number of rows from any table TPump BTEQ
Delete a large number of rows from a large table MultiLoad BTEQ
Perform DELETE operations on a large number of rows on multiple tables MultiLoad TPump
Delete all rows from a table BTEQ

Teradata marks the table header with an indicator to say that the table is empty. Assuming there are no locks on the table when this delete is requested, the delete completes in a second or two.

 
Delete some rows from a table BTEQ
Space permitting, it can also be an option to create an empty table, insert into this table the rows that you wish to retain and drop the original table and then rename the new table to the name of the original table. MultiLoad deletes are good for deleting large volumes of data, but not all data, from a table.

MultiLoad reads the data block by block. It "touches" each block consumed by the table and remove rows as appropriate, and replace the block.

This can be very efficient and is faster than an SQL delete in many cases because there is no rollback logging. However, MultiLoad must complete or else the table remains in an unstable state. For MultiLoad to work best, drop SIs, run the MultiLoad delete, and then replace the indexes. This is quicker and makes sure that the work table is small.

You cannot delete rows from a table using the SQL MERGE statement.