λογισμικό

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

Πώς να δημιουργήσετε Κλειδαριές σε DB2 ​​

Κλειδαριές συμβαίνουν στο διακομιστή IBM DB2 κάθε φορά που εκτελείτε ένα ερώτημα , εισαγωγή, ενημέρωση ή διαγραφή . Οι πίνακες έχουν ένα " LOCKSIZE " παράμετρος που μπορεί να επηρεάσει το κλείδωμα . Η ρύθμιση πίνακα " LOCKSIZE ANY" επιτρέπει DB2 για να επιλέξετε το μέγεθος της κλειδαριάς , συνήθως αποκτούν τη σελίδα κλειδαριές . Οι δηλώσεις ερώτημα SQL μπορεί να επηρεάσει το κλείδωμα , θέτοντας έναν " επίπεδο απομόνωσης " στην αρχή της συναλλαγής . Ακόμα και όταν χορηγεί ειδική κλειδαριά , DB2 μπορεί να προωθήσει ή να κλιμακωθεί το κλείδωμα ? Ως εκ τούτου , πρέπει να καταλάβετε πώς DB2 λαβές κλειδώματος όταν γράφετε εφαρμογές βάσεων δεδομένων . Οι προγραμματιστές μπορούν να ρυθμίσετε το επίπεδο κλειδώματος για να βελτιωθεί η απόδοση της βάσης δεδομένων με την εντολή "LOCK TABLE " , όμως . Οδηγίες
Η 1

Ασφαλίστε ολόκληρο τον πίνακα σε κοινόχρηστη κατάσταση λειτουργίας ή αποκλειστική λειτουργία . Εκτέλεση "LOCK ΠΙΝΑΚΑΣ MyTable ΣΕ ΑΠΟΚΛΕΙΣΤΙΚΗ MODE" ( αντικαταστήστε το " MyTable " με το όνομα του πίνακα DB2 ) για να κρατήσει το κλείδωμα ολόκληρου του πίνακα έως ότου η συναλλαγή έχει ολοκληρωθεί . Αυτή η λειτουργία αποτρέπει άλλους χρήστες από την πρόσβαση στον πίνακα μέχρι να απασφαλιστεί . 2

Execute " LOCK TABLE MyTable ΤΟΥ ΜΕΤΟΧΙΚΟΥ MODE " για να επιτρέψει πρόσβαση μόνο για ανάγνωση στο τραπέζι κατά τη διάρκεια της συναλλαγής . Αυτή η λειτουργία διατηρεί τα δεδομένα συνεπή , ενώ εξακολουθεί να επιτρέπει στους χρήστες για να τη δείτε . Η "LOCK TABLE " εντολή μπορεί να βελτιώσει την απόδοση και την πρόληψη " αδιέξοδα " , δημιουργώντας μία κλειδαριά για ολόκληρο τον πίνακα , αντί για διάφορες κλειδαριές μεμονωμένη σειρά .
Εικόνων 3

Ελευθερώστε την κλειδαριά χρησιμοποιώντας " RELEASE ( COMMIT ) " ή" RELEASE ( deallocate ) " --- δύο επιλογές σας όταν εκτελείτε το " LOCK TABLE " δήλωση στατικής SQL . " RELEASE ( COMMIT ) " θα απελευθερώσει την κλειδαριά μετά την εκτέλεση του " ΔΕΣΜΕΥΣΗ "δήλωση. " RELEASE ( deallocate ) " θα απελευθερώσει την κλειδαριά όταν τελειώνει η εφαρμογή .
Η 4

Απελευθερώστε το κλείδωμα όταν εκτελείτε το "LOCK TABLE " δήλωση δυναμική SQL με " RELEASE ( COMMIT ) " . Εάν χρησιμοποιείτε την προσωρινή αποθήκευση , DB2 κρατά έτοιμες καταστάσεις στη μνήμη μετά από ένα " ΔΕΣΜΕΥΣΗ "? , Ως εκ τούτου , θα πρέπει να βρω τον ιδιοκτήτη του την κλειδαριά ή να εκτελέσει μια εντολή "commit " μετά προετοιμασμένες καταστάσεις δεν είναι πλέον στη μνήμη για να απελευθερώσει την κλειδαριά


εικόνων

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

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