Mysql
 sql >> база данни >  >> RDS >> Mysql

сравнение на truncate срещу delete в mysql/sqlserver

ИЗТРИВАНЕ

  1. DELETE е DML команда.
  2. Инструкцията DELETE се изпълнява с помощта на заключване на ред, всеки ред в таблицата е заключен за изтриване.
  3. Можем да посочим филтри в клаузата where
  4. Изтрива определени данни, ако съществува условие.
  5. Изтриването активира тригер, тъй като операцията се записва индивидуално.
  6. По-бавно от съкращаването, защото поддържа регистрационни файлове.
  7. Връщане назад е възможно.

ОТРЯЗВАНЕ

  1. TRUNCATE е DDL команда.
  2. TRUNCATE TABLE винаги заключва таблицата и страницата, но не и всеки ред.
  3. Не може да се използва условие Where.
  4. Премахва всички данни.
  5. TRUNCATE TABLE не може да активира тригер, тъй като операцията не регистрира отделни изтривания на редове.
  6. По-бързо по отношение на производителността, защото не поддържа никакви регистрационни файлове.
  7. Връщане назад е възможно.


  • И двата DELETE и TRUNCATE могат да бъдат върнати, когато се използват с TRANSACTION (TRUNCATE може да бъде върнат обратно в SQL Server, но не и в MySQL).
  • ако има PK с автоматично нарастване, отрязването ще нулира брояча

http://beginner-sql-tutorial.com/sql-delete-statement .htm



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кога база данни се нарича като вградена база данни?

  2. Каква е целта на SELECT ... *FOR UPDATE*?

  3. изтриване на редове от множество таблици

  4. Грешка при анализа:синтактична грешка, неочаквана (T_VARIABLE)

  5. Symfony извежда данни в групирани по дата таблици