What is difference between TRUNCATE & DELETE?
Answer Posted / ameya aloni
TRUNCATE:
1. Faster - does its work in single execution by
deallocating the data pages used by the table and reducing
the resource overhead of logging the deletions, as well as
the number of locks acquired.
2. Is DDL command
3. Removes all data
4. Does not make entries in a LOG file
3. Can't be rolled-back
4. Can't filter using WHERE clause
5. Can't call DML triggers
6. Can't ensure data consistency in case of foreign-key
references
7. Resets the IDENTITY back to the SEED
DELETE:
1. Slower - does its work by deleting rows one at a time,
logging each row in the transaction log, maintaining log
sequence number (LSN) information and consuming more
database resources and locks.
2. Is DML command
3. Removes data row-by-row
4. Makes entry per row in a LOG file
3. Can use COMMIT or ROLLBACK
4. Can filter using WHERE clause
5. Can call DML triggers
6. Ensures data consistency in case of foreign-key references
7. Does not reset the IDENTITY
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
Does sql*plus also have a pl/sql engine?
How do I partition a table in sql?
how many sql ddl commands are supported by 'mysql'? : Sql dba
What are the parts of a sql statement?
What is the difference between local variables and global variables?
Which function is used to return remainder in a division operator in sql?
Is coalesce faster than isnull?
how to get help information from the server? : Sql dba
How long it takes to learn pl sql?
Why is partition used in sql?
Why commit is not used in triggers?
How can we debug in PL/SQL?
Can we use views in stored procedure?
Is a table valued function object?
Why is %isopen always false for an implicit cursor?