Sobes.tech
Junior — Middle

Ի՞նչն է ավելի արագ՝ տվյալների ջնջումը DELETE հրամանի միջոցով կամ աղյուսակի մաքրելը TRUNCATE-ով։

sobes.tech AI

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

TRUNCATE հրամանը սովորաբար ավելի արագ է աշխատում, քան DELETE, երբ անհրաժեշտ է ջնջել բոլոր տվյալները աղյուսակից։ Դա կապված է այն բանի հետ, որ TRUNCATE-ը չի ջնջում տողերը մեկ-մեկ, այլ արագորեն մաքրում է ամբողջ աղյուսակը, հաճախ վերականգնելով տվյալների էջերը և չգրանցելով առանձին ջնջման գործողությունները գործարքների գրանցամատյանում։

Ի տարբերություն DELETE-ի, որը ջնջում է տողերը մեկ-մեկ և կարող է ակտիվացնել տրիգերներ, TRUNCATE-ը չի ակտիվացնում տրիգերներ և չի կարող օգտագործվել WHERE պայմաններով — այն ջնջում է բոլոր տվյալները միանգամից։

Օրինակ՝

-- Բոլոր տողերի ջնջում (ավելի դանդաղ)
DELETE FROM users;

-- Արագ մաքառում աղյուսակի
TRUNCATE TABLE users;

Եթե անհրաժեշտ է արագ մաքրել ամբողջ աղյուսակը, ավելի լավ է օգտագործել TRUNCATE։