Heute werde ich Ihnen weiterhin MySQL-bezogenes Wissen vorstellen. Der Hauptinhalt dieses Artikels sind MySQL-Index-bezogene Inhalte. 1. Einführung in den MySQL-Index Ein Index ist ein „Verzeichnis“, das von der MySQL-Datenbank zu einer oder mehreren Spalten einer Tabelle hinzugefügt wird, um die Datenabfrage zu beschleunigen. Der MySQL-Index ist eine spezielle Datei, aber der Index der Tabelle der InnoDB-Typ-Engine (wir werden die MySQL-Engine in zukünftigen Artikeln erläutern) ist ein integraler Bestandteil des Tabellenbereichs. 2. Detaillierte Erläuterung der fünf Arten von MySQL-Indizes1. Allgemeiner Index Ein gemeinsamer Index ist ein gemeinsamer Index in der MySQL-Datenbank. Es gibt keine besonderen Anforderungen an die Daten in der Spalte, zu der ein gemeinsamer Index hinzugefügt wird. Die Rolle eines gemeinsamen Index besteht darin, differenzielle Abfragen zu beschleunigen. Tabelle exp erstellen(id int, name varchar(20),index exp_name(name)); Oder ersetzen Sie den Index durch den Schlüssel, wie folgt: Erstelle Tabelle exp (ID, int, Name varahcr (20), Schlüssel exp_name(Name)); Im obigen SQL-Befehl bedeutet Schlüssel oder Index das Hinzufügen eines Indexes, gefolgt vom Indexnamen, und die Spalten in Klammern sind die Spalten, denen der Index hinzugefügt werden soll. Nach dem Erstellen einer Datentabelle sieht das Hinzufügen einer neuen allgemeinen Index-SQL-Anweisung zur Tabelle wie folgt aus: Tabelle-Exp ändern, Index exp_id(id) hinzufügen; Die Ausführungsergebnisse sind wie folgt: Nachfolgend sehen Sie ein Beispiel für eine SQL-Anweisung zum Löschen eines gemeinsamen Indexes nach dem Erstellen einer Datentabelle: Tabelle ändern, Index exp_name löschen; Die Ausführungsergebnisse sind wie folgt: Beachten Sie, dass im obigen Befehl exp_name der Name des Indexes ist und nicht der Name des Feldes, das den Index enthält. Wenn wir den Namen des Indexes in der Tabelle vergessen, können wir den folgenden SQL-Befehl zur Abfrage ausführen: Index vom Exp anzeigen; Unter diesen ist exp der Tabellenname und die Ergebnisse der Befehlsausführung sind wie folgt: Wie aus den obigen Bildern ersichtlich ist, finden Sie nach dem Hinzufügen eines normalen Indexes beim Verwenden von desc zum Anzeigen der Tabellenstruktur MUL in der Spalte „Schlüssel“, was bedeutet, dass der Spalte ein normaler Index hinzugefügt wurde. (II) Eindeutiger Index Ein eindeutiger Index ist ein gemeinsamer Index, der erfordert, dass alle Werte in der Spalte, zu der der Index hinzugefügt wird, nur einmal vorkommen dürfen. Eindeutige Indizes werden normalerweise zu Feldern wie Ausweisnummer und Matrikelnummer hinzugefügt, können jedoch nicht zu Feldern wie Name hinzugefügt werden. Erstellen Sie die Tabelle exp (ID int, Name varchar (20), eindeutiger Schlüssel (Name)); Die Ausführungsergebnisse des obigen Befehls sind wie folgt: Es ist ersichtlich, dass beim Abfragen der Tabellenstruktur eines Felds mit hinzugefügtem eindeutigen Index mit dem Befehl desc in der Spalte „Schlüssel“ UNI angezeigt wird, was darauf hinweist, dass dem Feld ein eindeutiger Index hinzugefügt wurde. Nachfolgend sehen Sie ein Beispiel für eine SQL-Anweisung zum Löschen eines eindeutigen Indexes: Tabellenausdruck ändern, Indexnamen löschen; Die Ausführungsergebnisse sind wie folgt: (III) Primärschlüsselindex Der Primärschlüsselindex hat die schnellste Abfragegeschwindigkeit unter allen Indizes in der Datenbank und jede Datentabelle kann nur eine Primärschlüsselindexspalte haben. Die Spalten des Primärschlüsselindex dürfen keine doppelten Daten oder Nullwerte enthalten. Tabelle exp erstellen(id int, Name varchar(20), Primärschlüssel (id)); Tabelle exp ändern, Primärschlüssel (id) hinzufügen; Wenn Sie einer Spalte einen Primärschlüsselindex hinzufügen, wird PRI in der Spalte „Schlüssel“ angezeigt, wenn Sie die Tabellenstruktur in der Beschreibung anzeigen, wie unten dargestellt: Um den Primärschlüsselindex zu löschen, können Sie den folgenden Befehl ausführen: Tabellenausdruck ändern, Primärschlüssel löschen; Beachten Sie, dass in dieser SQL-Anweisung der Schlüssel nicht durch den Index ersetzt werden kann. (IV) Zusammengesetzter IndexWenn wir einen Index erstellen möchten, der verschiedene Spalten enthält, können wir einen zusammengesetzten Index erstellen. Tatsächlich werden zusammengesetzte Indizes häufig in Geschäftsszenarien verwendet. Wenn wir beispielsweise den Inhalt eines Datenpakets aufzeichnen möchten, müssen wir die IP- und Portnummer als Grundlage zur Identifizierung des Datenpakets verwenden. In diesem Fall können wir einen zusammengesetzten Index für die IP-Adressspalte und die Portnummernspalte erstellen. Nachfolgend finden Sie Beispiele für SQL-Anweisungen zum Erstellen zusammengesetzter, hinzufügender und löschender Indizes: Tabelle exp erstellen (ip varchar(15),port int ,Primärschlüssel (ip,port)); alter table exp, primären Schlüssel hinzufügen (IP, Port); alter table exp dorp primamary key; Wenn Sie nach der Erstellung des zusammengesetzten Index die Datentabellenstruktur mit desc anzeigen, finden Sie in der Schlüsselspalte mehrere PRIs. Dies bedeutet, dass die Spalten, die PRI enthalten, die Spalten des zusammengesetzten Index sind. Wie unten dargestellt: Beachten Sie, dass ein zusammengesetzter Index einem mehrspaltigen Primärschlüsselindex entspricht. Daher darf keine Spalte, der der zusammengesetzte Index hinzugefügt wird, leere Daten enthalten und die Daten in diesen Spalten dürfen nicht genau gleich sein, da die MySQL-Datenbank sonst einen Fehler meldet. Wie unten dargestellt: (V) Volltextindex Die Volltextindizierung wird hauptsächlich verwendet, um das Problem der unscharfen Übereinstimmung in großen Datenmengen zu lösen. Wenn die Datenmenge in einem Feld in der Datenbank sehr groß ist, wird die Geschwindigkeit sehr langsam, wenn wir die Like+Wildcard-Methode zur Suche verwenden möchten. In diesem Fall können wir die Volltextindizierung verwenden, um Fuzzy-Abfragen zu beschleunigen. Das Prinzip der Volltextindizierung besteht darin, die Schlüsselwörter und ihre Häufigkeit im Text mithilfe der Wortsegmentierungstechnologie zu analysieren und dann nacheinander Indizes zu erstellen. Die Verwendung von Volltextindizes hängt eng mit der Datenbankversion, der Datentabellen-Engine und sogar dem Feldtyp zusammen. Die wichtigsten Einschränkungen sind wie folgt: Tabelle erstellen exp (ID int, Inhaltstext, Fülltextschlüssel (Inhalt)) Engine = MyISAM; Tabellenausdruck ändern, Volltextindex (Inhalt) hinzufügen; Tabellenausdruck ändern, Indexinhalt löschen; Einige der Ausführungsergebnisse sind wie folgt: Nachdem Sie einen Volltextindex erstellt haben, können Sie die Methode „like+wildcard“ nicht mehr für die Fuzzy-Suche verwenden. Die Verwendung eines Volltextindex hat eine eigene, spezifische Syntax, wie unten gezeigt: Wählen Sie * aus dem Exp, wobei Übereinstimmung (Inhalt) mit ('a') übereinstimmt. Die Felder in den Klammern nach „match“ enthalten den Volltextindex und die Felder in den Klammern nach „away“ enthalten den Inhalt, für den ein Fuzzy-Match durchgeführt werden soll. 3. Grundsätze der MySQL-Indexverwendung 1. Die Indizierung ist eine typische Strategie, bei der man „Platz gegen Zeit tauscht“. Sie verbraucht zwar Speicherplatz, beschleunigt aber Abfragen. ZusammenfassenDies ist das Ende dieses Artikels mit der detaillierten Erklärung des MySQL-Datenbankindex. Weitere relevante MySQL-Indexinhalte finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Einführung in den Aufbau von NFS-Diensten unter Centos7
>>: Das Balkendiagramm von Vue + Echart realisiert Statistiken zu Epidemiedaten
Im vorherigen Artikel wurde erwähnt, dass die in ...
Code <div Klasse="Test"> <div&...
Inhaltsverzeichnis Unsinn Implementierte Funktion...
Geschichte von ZFS Das Z-Dateisystem (ZFS) wurde ...
NextCloud Sie können beliebige Dateien oder Ordne...
1. löschen delete ist die einzige wirkliche Mögli...
Vorwort Durch das Hinzufügen einer Drag & Dro...
Genug des Smalltalks <br />Basierend auf de...
Ob der a-Tag eine neue Seite öffnet: (1) Baidu Enc...
Es ist sehr üblich, webpack zum Erstellen einseit...
Ab IE 8 wurde ein Kompatibilitätsmodus hinzugefügt...
Inhaltsverzeichnis Vorwort einführen 1. Wirkungsm...
Vorherige Das ist eine klassische alte Frage. Da ...
Inhaltsverzeichnis Überblick 1. Test auf Nullwert...
offizielle Tomcat-Website Tomcat entspricht einem...