Γλώσσα :
SWEWE Μέλος :Σύνδεση |Εγγραφή
Αναζήτηση
Εγκυκλοπαίδεια της κοινότητας |Εγκυκλοπαίδεια Απαντήσεις |Υποβολή ερωτήματος |Λεξιλόγιο Γνώση |Ανεβάστε τη γνώση
Προηγούμενος 2 Επόμενος Επιλέξτε Σελίδες

mySQL

Cluster / NDB μηχανή αποθήκευσης υψηλής εξόδου, με πολλαπλές μηχανές συνδυασμένες υπηρεσίες δεδομένων για τη βελτίωση της συνολικής απόδοσης και της ασφάλειας. Κατάλληλο για μεγάλους όγκους δεδομένων, την ασφάλεια, και την απόδοση σε απαιτητικές εφαρμογέςCSV: διαχωρισμένες με κόμμα λογικά από τα δεδομένα του κινητήρα αποθήκευσης. Θα δημιουργήσει ένα αρχείο CSV. Για κάθε πίνακα της βάσης δεδομένων υποκατάλογο. Αυτό είναι ένα απλό αρχείο κειμένου, κάθε γραμμή δεδομένων καταλαμβάνει μία γραμμή κειμένου. CSV μηχανή αποθήκευσης δεν υποστηρίζει indexing.

BlackHole: μαύρη τρύπα μηχανή, οποιαδήποτε στοιχεία που γράφονται εξαφανιστεί, συνήθως χρησιμοποιείται για την αντιγραφή αρχείων κάνει binlog ρελέ

ΠΑΡΑΔΕΙΓΜΑ μηχανή αποθήκευσης είναι μια μηχανή στέλεχος δεν κάνει τίποτα. Προορίζεται ως MySQL πηγαίο κώδικα παράδειγμα που δείχνει πώς να αρχίσετε να γράφετε ένα νέο κινητήρα αποθήκευσης. Ομοίως, το κύριο ενδιαφέρον του είναι για τους προγραμματιστές. Μηχανή αποθήκευσης ΠΑΡΑΔΕΙΓΜΑ δεν υποστηρίζει indexing.

Επιπλέον, Mysql ορισμού διασύνδεσης μηχανή αποθήκευσης είναι καλή. Οι ενδιαφερόμενοι προγραμματιστές μπορούν να γράψουν τις δικές τους μηχανές αποθήκευσης διαβάζοντας την τεκμηρίωση.

Αρχιτεκτονική της εφαρμογής

Single Point (Single), κατάλληλο για εφαρμογές μικρής κλίμακας

Αντιγραφή (Replication), κατάλληλο για εφαρμογές μικρής κλίμακας

Cluster (Cluster), κατάλληλο για εφαρμογές μεγάλης κλίμακας

Λειτουργία Δείκτης

Ο δείκτης είναι ένα ειδικό αρχείο (δελτίο δεδομένων δείκτη InnoDB αποτελεί αναπόσπαστο μέρος του χώρου του πίνακα), η οποία περιέχει όλα τα αρχεία σχετικά με το δείκτη αναφοράς του πίνακα δεδομένων. Δείκτης δεν αποτελεί πανάκεια, ο δείκτης μπορεί να επιταχύνει τη λειτουργία ανάκτησης δεδομένων, αλλά θα επιβραδύνει εργασίες τροποποίησης των δεδομένων. Κάθε τροποποίηση των αρχείων δεδομένων, ευρετήρια πρέπει να ανανεώνεται μία φορά. Για να αντισταθμιστεί αυτή η έλλειψη σε ορισμένα προγράμματα, υπάρχουν πολλές εντολές SQL DELAY_KEY_WRITE αντικείμενα. Ο ρόλος αυτής της επιλογής είναι να σταματήσει προσωρινά την MySQL ανά ένθετο ένα νέο ρεκόρ στη σειρά και αμέσως μετά από κάθε τροποποίηση του υφιστάμενου δείκτη να ανανεώσετε, να ανανεώσετε το ευρετήριο θα περιμένει έως ότου όλα τα αρχεία που εισάγονται / τροποποιούνται περαιτέρω μετά την ολοκλήρωση. Στην ανάγκη πολλών νέων εγγραφών σε έναν πίνακα δεδομένων του την ευκαιρία, η επιλογή του ρόλου DELAY_KEY_WRITE θα είναι πολύ προφανές. Επιπλέον, ο δείκτης θα καταλαμβάνουν σημαντικό χώρο στο σκληρό δίσκο. Ως εκ τούτου, θα πρέπει να αναφέρονται μόνο ως ευρετηρίαση πιο συχνές απορίες και τη διαλογή των δεδομένων πιο συχνά. Σημειώστε ότι, εάν μια στήλη δεδομένων περιέχει πολλά ευρετηρίαση διπλό περιεχόμενο δεν θα έχει μεγάλη σημασία στην πράξη.

Θεωρητικά, μπορεί ο πίνακας δεδομένων για κάθε πεδίο κτίστηκαν ένα ευρετήριο, αλλά ο συνολικός αριθμός των δείκτη MySQL πίνακα του ίδιου δεδομένων περιορίζεται σε 16.

1. Πίνακα δεδομένων Index InnoDB

Σε σύγκριση με InnoDB πίνακες για InnoDB πίνακες, ευρετήρια InnoDB πίνακες σημασία είναι πολύ μεγαλύτερη. Στις InnoDB πίνακες, ευρετήρια θα παίξει όχι μόνο ρόλο στα αρχεία δεδομένων αναζήτησης, ή του μηχανισμού δεδομένων κλείδωμα σε επίπεδο γραμμών ακεναφθενίου, θεμέλιο. "Δεδομένα κλείδωμα σε επίπεδο γραμμών» έχει ως στόχο να κλειδώσει σε λειτουργία κατά τη διάρκεια της εκτέλεσης των συναλλαγών σε μεμονωμένες εγγραφές που υποβάλλονται σε επεξεργασία, δεν μπορεί να προσπελαστεί από άλλους χρήστες. Αυτό το κλείδωμα θα επηρεάσει (αλλά δεν περιορίζονται σε) SELECT, LOCKINSHAREMODE, SELECT, εντολές FORUPDATE και INSERT, UPDATE και DELETE εντολές. Για λόγους αποτελεσματικότητας, τα δεδομένα σε επίπεδο γραμμών πίνακα InnoDB κλείδωμα πραγματικά συνέβη στο δείκτη τους, αντί του ίδιου του πίνακα δεδομένων. Σαφώς, ο μηχανισμός κλειδώματος των δεδομένων σε επίπεδο γραμμών μόνο στο σχετικό δελτίο δεδομένων που διατίθενται για ένα κατάλληλο δείκτη για να είναι αποτελεσματική όταν ασφαλίζεται.

2. Όριο

Εάν το ερώτημα όρο WHERE, υπάρχουν αριθμοί κυμαίνονται (WHEREcoloum! =), η MySQL δεν θα χρησιμοποιήσει το δείκτη. Ομοίως, αν η πρόταση WHERE στο ερώτημα χρησιμοποιώντας τη λειτουργία (WHEREDAY (στήλη) =), η MySQL δεν θα είναι σε θέση να χρησιμοποιήσει το δείκτη. Στο JOIN λειτουργία (όταν η ανάγκη για την εξαγωγή δεδομένων από πολλούς πίνακες), MySQL μόνο τα πρωτεύοντα κλειδιά και ξένα κλειδιά, ώστε να χρησιμοποιούν τον ίδιο δείκτη τύπου δεδομένων.

Εάν η πρόταση WHERE στο ερώτημα χρησιμοποιώντας τον τελεστή σύγκρισης LIKE και regexp, MySQL μόνο στην περίπτωση του πρώτου χαρακτήρα δεν είναι ένα πρότυπο αναζήτησης μπαλαντέρ για να χρησιμοποιήσετε το δείκτη. Για παράδειγμα, εάν το ερώτημα είναι LIKE'abc% », MySQL θα χρησιμοποιήσει το δείκτη? Αν το ερώτημα είναι LIKE '% abc», MySQL δεν θα χρησιμοποιήσει το δείκτη.

Σε λειτουργία OrderBy, MySQL ταξινόμηση μόνο στην περίπτωση του μια παράσταση ερωτήματος χρησιμοποιείται όχι μόνο για το δείκτη. (Παρ 'όλα αυτά, το ερώτημα που περιλαμβάνει πολλούς πίνακες, ακόμη και αν υπάρχει ένας δείκτης που διατίθενται, οι εν λόγω δείκτες επίσης καμία ρόλο στην επιτάχυνση πτυχές orderby). Εάν μια στήλη δεδομένων περιέχει πολλές διπλές τιμές, ακόμη και αν αυτό δεν θα πρέπει να αναπροσαρμόζονται πολύ καλά αποτελέσματα. Για παράδειγμα, εάν μια καθαρή στήλη δεδομένων, όπως αυτά που περιέχονται στο "0/1" ή "Ν /" ισοδύναμο, δεν υπάρχει καμία ανάγκη να δημιουργηθεί ένα ευρετήριο σε αυτό.

Κατηγορία Δείκτης

1. Ο Γενικός Δείκτης

Γενικός Δείκτης (αναπροσαρμόζονται με λέξη-κλειδί KEY ή INDEX ορίζεται) μόνη αποστολή είναι να επιταχύνει την ταχύτητα πρόσβασης στα δεδομένα. Ως εκ τούτου, τα δεδομένα θα πρέπει να είναι μόνο για εκείνους που τις περισσότερες φορές εμφανίζονται στο ερώτημα (WHEREcolumn =) ή ταξινόμηση (ORDERBYcolumn) στη στήλη για να δημιουργήσετε το ευρετήριο. Όποτε είναι δυνατόν, θα πρέπει να επιλέξετε ένα tidiest δεδομένων και πιο συμπαγής στήλες δεδομένων (όπως μια στήλη τύπου δεδομένων ακέραιος αριθμός) για να δημιουργήσετε το ευρετήριο.

2. Μοναδικό ευρετήριο

Ο Γενικός Δείκτης επιτρέπει στα δεδομένα να αναπροσαρμόζονται στήλη περιέχει διπλότυπες τιμές. Για παράδειγμα, επειδή οι άνθρωποι θα μπορούσαν να ομώνυμο, ενδέχεται να εμφανιστεί το ίδιο όνομα δύο ή περισσότερες φορές στο ίδιο "υπάλληλος προσωπικές πληροφορίες" πίνακα δεδομένων.

Αν μπορείτε να προσδιορίσετε αν μια στήλη δεδομένων θα περιέχει μόνο τιμές διαφορετικό από κάθε άλλο, σε μια στήλη για να δημιουργήσετε το ευρετήριο για αυτά τα δεδομένα θα πρέπει να χρησιμοποιείται όταν ορίζεται ως η λέξη UNIQUE ένα μοναδικό ευρετήριο. Το όφελος: Πρώτον, MySQL απλοποιεί τη διαχείριση του εν λόγω δείκτη, ο δείκτης έχει καταστεί πιο αποτελεσματική? Δεύτερον, η αξία της MySQL θα εισάγει ένα νέο ρεκόρ, όταν πίνακες δεδομένων, ελέγχει αυτόματα για νέα ρεκόρ αυτό το πεδίο Έχει εμφανιστεί σε μια εγγραφή του εν λόγω τομέα? Αν είναι, MySQL θα αρνηθεί να εισάγετε νέες εγγραφές κομμάτι. Με άλλα λόγια, μπορεί να εγγυηθεί μόνο ένα μοναδικό αρχεία δεδομένων δείκτη. Στην πραγματικότητα, σε πολλές περιπτώσεις, οι άνθρωποι τείνουν να δημιουργήσουν ένα μοναδικό ευρετήριο στόχος δεν είναι να αυξηθεί η ταχύτητα, αλλά μόνο για να αποφευχθεί η επανάληψη των δεδομένων.

3. Δείκτης Κύριας

Μπροστά έχει τονίσει επανειλημμένα: Πρέπει να δημιουργήσετε ένα πρωτεύον κλειδί δείκτη τομέα, ο δείκτης αυτός ονομάζεται «πρωτεύον ευρετήριο." Η μόνη διαφορά μεταξύ της πρωτοβάθμιας δείκτη και μοναδικό δείκτη είναι: Λέξη-κλειδί πρώτο χρησιμοποιείται κατά τον καθορισμό ΔΗΜΟΤΙΚΟ αντί UNIQUE.

4. Ξένο κλειδί ευρετήρια

Αν ορίσετε ένα πεδίο ξένου κλειδιού είναι ένα ξένο κλειδί περιορισμό, MySQL θα ορίζουν έναν εσωτερικό ευρετήριο για να βοηθήσουν τον εαυτό τους με τον πιο αποτελεσματικό τρόπο για να διαχειριστεί και να χρησιμοποιούν ξένους βασικούς περιορισμούς.

5. Σύνθετος δείκτης

Δείκτης μπορεί να καλύψει πολλές στήλες δεδομένων, όπως INDEX (Columna, columnB) δείκτη. Ο δείκτης αυτός μπορεί να χαρακτηρίζεται από την επιλεκτική χρήση MySQL ένα τέτοιο δείκτη. Αν το μόνο που χρειάζεται να χρησιμοποιήσετε μια λειτουργία ερώτημα για Columna στήλες δεδομένων δείκτη, μπορείτε να χρησιμοποιήσετε ένα σύνθετο δείκτη INDEX (Columna, columnB). Ωστόσο, αυτό ισχύει μόνο για τη χρήση των δεδομένων που διοργανώνονται στο μπροστινό συνδυασμό σειρά του σύνθετου δείκτη. Για παράδειγμα, ο δείκτης (Α, Β, C) μπορεί να χρησιμοποιηθεί ως ένας δείκτης Α ή (Α, Β) που πρόκειται να χρησιμοποιηθεί, αλλά όχι ως Β, Γ, ή (Β, C) να χρησιμοποιεί το δείκτη.


Προηγούμενος 2 Επόμενος Επιλέξτε Σελίδες
Χρήστης Ανασκόπηση
Δεν υπάρχουν ακόμη σχόλια
Θέλω να σχολιάσω [Επισκέπτης (3.148.*.*) | Σύνδεση ]

Γλώσσα :
| Ελέγξτε τον κωδικό :


Αναζήτηση

版权申明 | 隐私权政策 | Πνευματική ιδιοκτησία @2018 Κόσμος εγκυκλοπαιδικές γνώσεις