Heim > Datenbank > MySQL-Tutorial > Was ist die Verwendung des MySQL-Indexschlüsselworts?

Was ist die Verwendung des MySQL-Indexschlüsselworts?

青灯夜游
Freigeben: 2022-03-01 15:40:58
Original
4787 Leute haben es durchsucht

In MySQL kann das Schlüsselwort index zum Erstellen eines Index verwendet werden, die Syntax „CREATE INDEX index name ON table name (column name)“ kann zum Anzeigen des Index verwendet werden, die Syntax „SHOW INDEX FROM table name“; ; es kann auch verwendet werden, um den Index zu ändern, die Syntax „DROP INDEX Indexname ON Tabellenname“.

Was ist die Verwendung des MySQL-Indexschlüsselworts?

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

In MySQL bezieht sich Index auf einen Index, der eine spezielle Datenbankstruktur ist, die aus einer oder mehreren Spalten in der Datentabelle besteht. Er kann zum schnellen Abfragen von Datensätzen mit einem bestimmten Wert in der Datentabelle verwendet werden.

Das Schlüsselwort index kann verwendet werden, um einen Index zu erstellen, den Index anzuzeigen oder den Index zu ändern.

Index-Schlüsselwort erstellt einen Index

Sie können die CREATE INDEX-Anweisung speziell zum Erstellen von Indizes verwenden, um einen Index für eine vorhandene Tabelle zu erstellen, aber diese Anweisung kann keinen Primärschlüssel erstellen.

CREATE INDEX 索引名 ON 表名 (列名 [长度] [ASC|DESC])
Nach dem Login kopieren
  • : Geben Sie den Indexnamen an. Eine Tabelle kann mehrere Indizes erstellen, aber jeder Index hat einen eindeutigen Namen in der Tabelle.

  • : Geben Sie den Namen der Tabelle an, um einen Index zu erstellen.

  • : Geben Sie den Spaltennamen an, um einen Index zu erstellen. Normalerweise können Sie Spalten, die häufig in der JOIN-Klausel und der WHERE-Klausel in der Abfrageanweisung vorkommen, als Indexspalten verwenden.

  • : Optional. Gibt an, dass die Längenzeichen vor der Spalte zum Erstellen des Index verwendet werden. Das Erstellen eines Index unter Verwendung eines Teils einer Spalte kann dazu beitragen, die Größe der Indexdatei zu reduzieren und den von den Indexspalten belegten Platz zu sparen. In manchen Fällen kann nur das Präfix einer Spalte indiziert werden. Die Länge einer Indexspalte hat eine maximale Grenze von 255 Byte (1000 Byte für MyISAM- und InnoDB-Tabellen). Wenn die Länge einer Indexspalte diese Grenze überschreitet, kann sie nur mit dem Präfix der Spalte indiziert werden. Darüber hinaus müssen auch Spalten vom Typ BLOB oder TEXT Präfixindizes verwenden.

  • ASC|DESC: Optional. ASC gibt an, dass der Index in aufsteigender Reihenfolge sortiert wird, DESC gibt an, dass der Index in absteigender Reihenfolge sortiert wird, und der Standardwert ist ASC.

Um beispielsweise einen neuen Index für Spalte c4 hinzuzufügen, verwenden Sie die folgende Anweisung:

CREATE INDEX idx_c4 ON t(c4);
Nach dem Login kopieren

Wenn der Indextyp nicht angegeben ist, erstellt MySQL standardmäßig einen B-Tree-Index.

Index-Schlüsselwort zum Anzeigen des Index

SHOW INDEX FROM 表名 [FROM 数据库名]
Nach dem Login kopieren

Die Syntax lautet wie folgt:

  • : Geben Sie den Namen der Datentabelle an, um den Index anzuzeigen.

  • : Geben Sie die Datenbank an, in der sich die Datentabelle befindet, deren Indizes angezeigt werden müssen. Dies kann weggelassen werden. Beispielsweise bedeutet die Anweisung SHOW INDEX FROM student FROM, den Index der Schülerdatentabelle in der Testdatenbank anzuzeigen.

Beispiel:

mysql> SHOW INDEX FROM tb_stu_info2\G
*************************** 1. row ***************************
        Table: tb_stu_info2
   Non_unique: 0
     Key_name: height
 Seq_in_index: 1
  Column_name: height
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment:
Index_comment:
1 row in set (0.03 sec)
Nach dem Login kopieren

Die Hauptparameter werden wie folgt beschrieben:

Parameter Beschreibung
Tabelle stellt den Namen der Datentabelle zum Erstellen des Index dar, hier ist tb_stu_ info2-Daten Tisch.
Non_unique gibt an, ob der Index ein eindeutiger Index ist. Wenn es sich nicht um einen eindeutigen Index handelt, ist der Wert dieser Spalte 1; wenn es sich um einen eindeutigen Index handelt, ist der Wert dieser Spalte 0.
Key_name stellt den Namen des Index dar.
Seq_in_index stellt die Position der Spalte im Index dar. Wenn der Index eine einzelne Spalte ist, ist der Wert dieser Spalte 1; wenn der Index ein kombinierter Index ist, ist der Wert dieser Spalte die Reihenfolge von jede Spalte in der Indexdefinition.
Column_name stellt das Spaltenfeld dar, das den Index definiert.
Collation gibt die Reihenfolge an, in der Spalten im Index gespeichert werden. In MySQL zeigt die aufsteigende Reihenfolge den Wert „A“ (aufsteigend) an. Wenn er als NULL angezeigt wird, bedeutet dies keine Klassifizierung.
KardinalitätEine Schätzung der Anzahl eindeutiger Werte im Index. Die Kardinalität zählt für Statistiken, die als Ganzzahlen gespeichert sind. Daher muss der Wert auch bei kleinen Tabellen nicht genau sein. Je größer die Kardinalität, desto größer ist die Wahrscheinlichkeit, dass MySQL den Index beim Durchführen von Verknüpfungen verwendet.
Sub_part stellt die Anzahl der indizierten Zeichen in der Spalte dar. Wenn die Spalte nur teilweise indiziert ist, entspricht der Wert der Spalte der Anzahl der indizierten Zeichen. Wenn die gesamte Spalte indiziert ist, ist der Wert der Spalte NULL.
Packed gibt an, wie das Schlüsselwort gepackt ist. Wenn nicht komprimiert, ist der Wert NULL.
Null wird verwendet, um anzuzeigen, ob die Indexspalte NULL enthält. Wenn eine Spalte NULL enthält, ist der Wert der Spalte YES. Wenn nicht, ist der Wert dieser Spalte NEIN.
Index_typeZeigt den vom Index verwendeten Typ und die Methode (BTREE, FULLTEXT, HASH, RTREE).
KommentierenKommentare anzeigen.

index关键字修改索引

DROP INDEX <索引名> ON <表名>
Nach dem Login kopieren

语法说明如下:

  • <索引名>:要删除的索引名。

  • <表名>:指定该索引所在的表名。

说明:

在 MySQL 中修改索引可以通过删除原索引,再根据需要创建一个同名的索引,从而实现修改索引的操作。

【相关推荐:mysql视频教程

Das obige ist der detaillierte Inhalt vonWas ist die Verwendung des MySQL-Indexschlüsselworts?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage