Sobes.tech
Junior — Middle

Τι είναι πιο γρήγορο — διαγραφή δεδομένων με την εντολή DELETE ή εκκαθάριση του πίνακα μέσω TRUNCATE;

sobes.tech AI

Απάντηση από AI

Η εντολή TRUNCATE λειτουργεί γενικά πιο γρήγορα από το DELETE όταν πρέπει να διαγράψετε όλα τα δεδομένα από έναν πίνακα. Αυτό οφείλεται στο γεγονός ότι το TRUNCATE δεν διαγράφει γραμμές μία-μία, αλλά καθαρίζει γρήγορα ολόκληρο τον πίνακα, συχνά επαναφέροντας τις σελίδες δεδομένων και χωρίς να καταγράφει ξεχωριστές λειτουργίες διαγραφής στο αρχείο καταγραφής συναλλαγών.

Σε αντίθεση με το DELETE, που διαγράφει γραμμές μία-μία και μπορεί να ενεργοποιήσει triggers, το TRUNCATE δεν ενεργοποιεί triggers και δεν μπορεί να χρησιμοποιηθεί με συνθήκες WHERE — διαγράφει όλα τα δεδομένα αμέσως.

Παράδειγμα:

-- Διαγραφή όλων των γραμμών (αργότερα)
DELETE FROM users;

-- Γρήγορος καθαρισμός πίνακα
TRUNCATE TABLE users;

Έτσι, αν θέλετε να καθαρίσετε γρήγορα ολόκληρο τον πίνακα, είναι καλύτερο να χρησιμοποιήσετε το TRUNCATE.