Sobes.tech
Middle

Ի՞նչ է տարբերությունը DELETE և TRUNCATE SQL-ում։

sobes.tech AI

Պատասխան AI-ից

SQL-ում DELETE և TRUNCATE հիմնական տարբերությունները:

  • DELETE մաքրում է տողերը աղյուսակից տող առ տող և կարող է ունենալ WHERE պայման։ Գործողությունը գրանցվում է օրագրում, ինչը թույլ է տալիս վերականգնել փոփոխությունները (ROLLBACK):
  • TRUNCATE ամբողջությամբ մաքրում է տողերը աղյուսակից՝ առանց պայման նշելու հնարավորության։ Դա ավելի արագ գործողություն է, քանի որ այն չի գրանցում յուրաքանչյուր տողի մաքրման գործընթացը, այլ վերականգնում է տվյալների էջերը։

Օրինակ՝

DELETE FROM users WHERE age < 18; -- կմաքրի միայն 18-ից փոքր օգտվողներին
TRUNCATE TABLE users; -- կմաքրի բոլոր օգտվողներին միանգամից

Բացի այդ, TRUNCATE սովորաբար վերականգնում է ավտոմատ աճող հաշիվները, մինչդեռ DELETE ոչ։