Ключова разлика: DELETE е команда, която позволява на програмиста да изтрие един ред от таблица в SQL база данни. Командата попада под DML или по-скоро на езика за манипулиране на данни. Командата TRUNCATE позволява на програмиста да изтрие всички редове от таблица в SQL база данни. Командата попада под езика за дефиниране на данни или DDL.
SQL сървърите се използват за съхранение на данни, достъпни в мрежа или дори в интернет. SQL сървърите играят основна роля, когато става въпрос за съхраняване и извличане на данни в интернет. Ако не бяха сървърите, интернет нямаше да бъде това, което е сега.
Термините DELETE и TRUNCATE са важни термини, когато става въпрос за изтриване на данни от тези сървъри. Има различни начини за добавяне на данни и премахване на данни от сървър. Въпреки че няма да навлизаме в подробности относно добавянето на данни; тези две думи вършат работата по премахването на данните. Всяка дума обаче изпълнява различна функция и изтрива данните по различен начин.
DELETE е команда, която позволява на програмиста да изтрие един ред от таблица в SQL база данни. Командата попада под DML или по-скоро на езика за манипулиране на данни. Този език е основно отговорен (както подсказва името) манипулиране на данни. Също така се използва съхранение, модифициране, извличане, изтриване и актуализиране на данни и включва термини като SELECT, INSERT, UPDATE, DELETE и т.н. Основната полза от използването на този език и тази команда е, че позволява на програмиста да изтрие един ред от всички редове на наличните данни. Той също така позволява на програмиста да използва филтри и условия, които позволяват изтриване на определени редове чрез търсене на ключови думи.
Командата TRUNCATE позволява на програмиста да изтрие всички редове от таблица в SQL база данни. Командата попада под езика за дефиниране на данни или DDL. Езикът DDL се използва за изграждане и модифициране на структурата на вашите таблици и други обекти в базата данни. Той има други команди като CREATE, ALTER, DROP, COMMENT, RENAME и т.н. Основната полза от използването на този език е, че позволява на програмиста да изтрие всички редове от таблица. Освен това, той премахва и всички записи от таблица, включително пространствата, разпределени за тези записи.
Има и друга основна разлика между двете. В функцията DELETE има опция за възстановяване, при която системата съхранява регистър на изтритите файлове. Тези файлове могат да бъдат възстановени от програмиста, ако е необходимо. В функцията TRUNCATE обаче тази опция не е налична. След като файловете бъдат изтрити, те изчезват завинаги от системата. Тази липса на водене на журнали е това, което прави функцията TRUNCATE по-бърза от функцията DELETE.
Сравнение между изтриване и съкращаване:
Изтрий | пресечен | |
Предназначение | Е команда, която позволява на програмиста да изтрие ред в таблица | Е команда, която позволява на програмиста да изтрие всички редове от таблица |
Команда за езика | Език за манипулиране на данни | Език за дефиниране на данни |
Екзекуция | Командата DELETE се изпълнява като се използва заключване на ред, където всеки ред в таблицата се заключва за изтриване | Командата TRUNCATE заключва таблицата и страницата, но не всеки ред |
Изтрива | Изтрива определени данни, когато съществува състояние | Премахва всички данни в таблицата |
Филтри | Позволява на филтрите да изтриват определени данни | Не позволява филтри |
тригер | Активира спусъка, защото операцията се записва индивидуално | не може да активира тригер, тъй като операцията не регистрира отделни изтривания на редове |
Време за изпълнение | По-бавно в изпълнението, тъй като тя държи трупи | По-бързо от изтриване, тъй като не съхранява дневници |
Отмяна (Отмяна) | Разрешава опцията за възстановяване или отмяна | Не позволява опцията за възстановяване или отмяна |