λογισμικό

* Γνώση Υπολογιστών >> λογισμικό >> λογισμικού βάσεων δεδομένων

SQL : Κενό Vs . Περικόψτε

Δύο μέθοδοι υπάρχουν σε SQL για να αδειάσει πίνακες της βάσης δεδομένων . Το ένα είναι η λειτουργία "διαγραφή" και το άλλο είναι « TRUNCATE . " Τόσο η διατήρηση της ακεραιότητας του πίνακα αδειάζει , αλλά κάθε διαφέρει στους μηχανισμούς που χρησιμοποιούνται για την απομάκρυνση εγγραφών , ιδίως σε σχέση με τους τρόπους λειτουργίας , ανάκτηση δεδομένων , την ταχύτητα και τη χρήση των πόρων . Η λειτουργία " DELETE " έχει χαρακτηριστεί ως γλώσσα χειρισμού δεδομένων λειτουργίας ( DML ), ενώ " TRUNCATE " ανήκει στην οικογένεια των λειτουργιών που ασχολούνται με τη γλώσσα ορισμού δεδομένων ( DDL ) . Τρόποι Λειτουργίας
Η

Η " TRUNCATE " λειτουργία είναι μια προσέγγιση του όλα ή τίποτα που αποδεσμεύει χώρο στο δίσκο που προορίζεται για τα δεδομένα του πίνακα . Η λειτουργία αφαιρεί επίσης δείκτες σε ευρετήρια . Δεδομένα συνεχίζει να υπάρχει στον πίνακα μέχρι να αντικατασταθούν από νέα δεδομένα . Αντίθετα, η " DELETE " πράξη αφαιρεί μία εγγραφή σε έναν χρόνο , καταγράφοντας τις λεπτομέρειες της κάθε εγγραφής σε ένα αρχείο καταγραφής συναλλαγών πριν από την απομάκρυνσή του . Η λειτουργία " DELETE " απαιτεί η συναλλαγή να δεσμευτεί , ενώ ένα « TRUNCATE " δεσμεύεται εμμέσως τη συναλλαγή . Ένα " DELETE " δήλωση επιτρέπει επίσης στο χρήστη να αφαιρέσει όρους εγγραφές που πληρούν ορισμένα κριτήρια .
Εικόνων Data Recovery
Η

A " TRUNCATE " πράξη αφαιρεί δεδομένα από μια πίνακα χωρίς να αποθηκεύσετε οποιαδήποτε πληροφορία επαναφοράς . Αφού εκτελεστεί η εντολή , η ανάκτηση δεν είναι δυνατή εάν ο χώρος που είχαν διατεθεί προηγουμένως για τα δεδομένα έχουν αντικατασταθεί με νέα δεδομένα . Αντίθετα, επιστρέψετε σε μια προηγούμενη κατάσταση σε λειτουργία το "DELETE " μπορεί να συμβεί , επειδή κάθε εγγραφή έχει δεσμευτεί για την κατάργηση πινάκων πριν από την απομάκρυνσή του . Λείπουν δεδομένα μπορούν στη συνέχεια να ανακτηθούν από τα αρχεία καταγραφής επαναφοράς , υπό την προϋπόθεση εξακολουθούν να υπάρχουν τα αρχεία καταγραφής .

Η ταχύτητα και η Χρήση πόρων
Η

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

" ? TRUNCATE " λειτουργίες μπορεί να συμβεί μόνο εάν όλες οι ξένες βασικούς περιορισμούς αφαιρεθεί ή να απενεργοποιηθεί πριν από την εκτέλεσή της . Ο ίδιος κανόνας ισχύει και για το "DELETE " πράξεις . Αυτό είναι λόγω του κανόνα που επιβάλλει στις βάσεις δεδομένων για τον καθορισμό της πρωτοβάθμιας και σχέσεις ξένου κλειδιού και το οποίο ορίζει ότι «κανένα ξένο κλειδί πρέπει να κουνιέμαι . " Ως εκ τούτου , " TRUNCATE " και " DELETE " επιχειρήσεις θα αποτύχει αν υπάρχει πρωτεύον κλειδί /εξωτερικού κλειδιού στη θέση του .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα