Sobes.tech
Junior — Middle

Кое е по-бързо — изтриване на данни с командата DELETE или изчистване на таблицата чрез TRUNCATE?

sobes.tech AI

Отговор от AI

Командата TRUNCATE обикновено работи по-бързо от DELETE, когато трябва да изтриете всички данни от таблица. Това е така, защото TRUNCATE не изтрива редове по един, а бързо изчиства цялата таблица, често нулирайки страниците с данни и без да записва отделни операции за изтриване в транзакционния журнал.

За разлика от DELETE, който изтрива редове един по един и може да активира тригери, TRUNCATE не активира тригери и не може да се използва с условия WHERE — изтрива всички данни наведнъж.

Пример:

-- Изтриване на всички редове (по-бавно)
DELETE FROM users;

-- Бързо почистване на таблицата
TRUNCATE TABLE users;

Ако трябва бързо да изчистите цялата таблица, по-добре е да използвате TRUNCATE.