Heim  >  Artikel  >  Datenbank  >  Was ist der Unterschied zwischen MySQL-Indizes?

Was ist der Unterschied zwischen MySQL-Indizes?

WBOY
WBOYOriginal
2022-02-17 11:54:256790Durchsuche

Unterschiede: 1. Der Indexspaltenwert des eindeutigen Index muss eindeutig sein und Nullwerte sind zulässig. 2. Der Indexwert des Primärschlüsselindex muss eindeutig sein, Nullwerte sind jedoch nicht zulässig Der kombinierte Index kann nur erstellt werden, wenn der Index in der Abfragebedingung verwendet wird. Der Index wird nur verwendet, wenn das erste Feld eingegeben wird. 4. Volltextindizes können nur in Tabellen verwendet werden, die die Myisam-Speicher-Engine verwenden.

Was ist der Unterschied zwischen MySQL-Indizes?

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

Was ist der Unterschied zwischen MySQL-Indizes?

MySQL-Indextyp:

Primärschlüsselindex: Der Unterschied zum eindeutigen Index besteht darin, dass dieser Index automatisch erstellt wird, wenn der Primärschlüssel erstellt wird .

Normaler Index: Der einfachste Index, keine besonderen Einschränkungen.

Einzigartiger Index: Der Unterschied zu einem normalen Index besteht darin, dass der Wert der Indexspalte eindeutig sein muss, aber Nullwerte haben kann.

Volltextindex: Kann nur in Tabellen mit der Myisam-Speicher-Engine für größere Datenspalten verwendet werden.

Kombinierter Index: bezieht sich auf einen Index, der für mehrere Felder erstellt wurde. Der Index wird nur verwendet, wenn das erste Feld beim Erstellen des Index in den Abfragebedingungen verwendet wird. Wenn Sie kombinierte Indizes verwenden, befolgen Sie den Präfixsatz ganz links

Beispiele sind wie folgt:

1 Der gewöhnliche Index

ist der einfachste Index und unterliegt keinen Einschränkungen. Es verfügt über die folgenden Erstellungsmethoden:

(1) Erstellen Sie direkt einen Index

CREATE INDEX index_name ON table(column(length))

(2) Fügen Sie einen Index hinzu, indem Sie die Tabellenstruktur ändern

ALTER TABLE table_name ADD INDEX index_name ON (column(length))

(3) Erstellen Sie gleichzeitig einen Index beim Erstellen einer Tabelle

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) CHARACTER NOT NULL ,
    `content` text CHARACTER NULL ,
    `time` int(10) NULL DEFAULT NULL ,
    PRIMARY KEY (`id`),
    INDEX index_name (title(length))
)

(4) Löschen Sie einen Index

DROP INDEX index_name ON table

2. Der eindeutige Index

ähnelt dem vorherigen normalen Index, außer dass der Wert der Indexspalte eindeutig sein muss, aber Nullwerte zulässig sind. Bei einem zusammengesetzten Index muss die Kombination der Spaltenwerte eindeutig sein. Es verfügt über die folgenden Erstellungsmethoden:

(1) Erstellen Sie einen eindeutigen Index

CREATE UNIQUE INDEX indexName ON table(column(length))

(2) Ändern Sie die Tabellenstruktur

ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))

(3) Geben Sie

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) CHARACTER NOT NULL ,
    `content` text CHARACTER NULL ,
    `time` int(10) NULL DEFAULT NULL ,
    UNIQUE indexName (title(length))
);

direkt beim Erstellen der Tabelle an 3. Der Primärschlüsselindex

ist ein spezieller eindeutiger Index. Eine Tabelle kann nur einen Primärschlüssel haben und es sind keine Nullwerte zulässig. Im Allgemeinen wird der Primärschlüsselindex gleichzeitig beim Erstellen der Tabelle erstellt:

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) NOT NULL ,
    PRIMARY KEY (`id`)
);

4 Der kombinierte Index

bezieht sich auf einen Index, der für mehrere Felder erstellt wird Der Index wird in den Abfragebedingungen verwendet. Wenn Sie kombinierte Indizes verwenden, befolgen Sie den Präfixsatz ganz links

ALTER TABLE `table` ADD INDEX name_city_age (name,city,age);

5. Der Volltextindex

wird hauptsächlich zum Suchen von Schlüsselwörtern im Text verwendet und nicht direkt mit Werten im Index verglichen. Der Volltextindex unterscheidet sich stark von anderen Indizes. Er ähnelt eher einer Suchmaschine als einem einfachen Parameterabgleich der where-Anweisung. Der Volltextindex wird mit der Match-gegen-Operation anstelle der allgemeinen Where-Anweisung plus Like verwendet. Es kann zum Erstellen einer Tabelle, zum Ändern einer Tabelle und zum Erstellen eines Index verwendet werden. Derzeit können jedoch nur Volltextindizes für char-, varchar- und text-Spalten erstellt werden. Es ist erwähnenswert, dass es bei großen Datenmengen besser ist, die Daten in eine Tabelle ohne globalen Index einzufügen und dann mit CREATE index einen Volltextindex zu erstellen, als zuerst einen Volltext für eine Tabelle zu erstellen und dann den Index zu schreiben Daten. Die Geschwindigkeit ist viel schneller.

(1) Es ist geeignet, beim Erstellen einer Tabelle einen Volltextindex hinzuzufügen

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) CHARACTER NOT NULL ,
    `content` text CHARACTER NULL ,
    `time` int(10) NULL DEFAULT NULL ,
    PRIMARY KEY (`id`),
    FULLTEXT (content)
);

(2) Ändern Sie die Tabellenstruktur, um einen Volltextindex hinzuzufügen

ALTER TABLE article ADD FULLTEXT index_content(content)

(3) Erstellen Sie direkt einen Index

CREATE FULLTEXT INDEX index_content ON article(content)

Empfohlen Lernen: MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen MySQL-Indizes?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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