Heim  >  Artikel  >  Datenbank  >  Hat MySQL einen gemeinsamen Index?

Hat MySQL einen gemeinsamen Index?

WBOY
WBOYOriginal
2022-06-16 10:52:212423Durchsuche

Es gibt einen gemeinsamen Index in MySQL. Der gemeinsame Index bezieht sich auf die Indizierung von zwei oder mehr Spaltenfeldern in der Tabelle, auch als zusammengesetzter Index bezeichnet. Wenn nur eine Spalte hinter dem gemeinsamen Index durchsucht wird, hat der Index keine Auswirkung . Die Syntax zum Erstellen des Index lautet „Indexnamen für Tabellennamen erstellen (Feldname 1, Feldname 2,...)“.

Hat MySQL einen gemeinsamen Index?

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

Verfügt MySQL über einen gemeinsamen Index?

MySQL verfügt über einen gemeinsamen Index

Gemeinsamer Index: Wird auch als zusammengesetzter Index bezeichnet und bezieht sich auf die Indizierung von zwei oder mehr Spaltenfeldern in der Tabelle.

Mysql verwendet Felder im Index von links nach rechts. Eine Abfrage kann nur einen Teil des Index verwenden, jedoch nur den Teil ganz links. Der Index ist beispielsweise der Schlüsselindex (a,b,c), der die Suche in drei Kombinationen unterstützen kann: a | a, b, c, aber keine kombinierte Suche von b und c Suchen Sie nach der Kombination nach dem gemeinsamen Index. Wenn Sie eine Suche in einer beliebigen Spalte durchführen, hat der Index keine Auswirkung. Erstellen Sie einen Index. Wie in der Abbildung oben gezeigt, haben wir die Benutzertabelle If erstellt Wir möchten nach den Spalten „Name“ und „Alter“ der Tabelle suchen. Um einen gemeinsamen Index zu erstellen, können Sie das folgende SQL verwenden:

-- 用户表
CREATE TABLE `user` (
  `id` int(4) NOT NULL COMMENT '主键ID',
  `name` varchar(4) NOT NULL COMMENT '姓名',
  `age` int(3) NOT NULL COMMENT '年龄',
  PRIMARY KEY (`id`)
)

Die Syntax zum Erstellen eines gemeinsamen Index: Index erstellen Indexname für Tabellenname (Feldname 1, Feldname 2,...)

2. Löschen Sie den Index

Wenn wir der Meinung sind, dass der erstellte gemeinsame Index nicht geeignet ist, können Sie den folgenden SQL-Befehl verwenden, um den gemeinsamen Index zu löschen:

create index index_name_age on user (name,age);

Oder verwenden Sie: alter Tabelle Tabellenname Drop Index Indexname

drop index index_name_age on user;

3. Ein Fehler wird gemeldet, wenn ein Index mit demselben Namen vorhanden ist

Vorausgesetzt, es wurde ein kombinierter Index (index_name_age) erstellt. Wenn der Index erneut erstellt wird, wird der Folgender Fehler wird gemeldet:

alter table user drop index index_name_age;

4. Sehen Sie sich den Index an

Sehen Sie sich die Syntax des Index an: Index aus Tabellennamen anzeigen

Query : create index index_name_age on user (name,age)
Error Code : 1061
Duplicate key name 'index_name_age'

Empfohlenes Lernen:

MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonHat MySQL einen gemeinsamen Index?. 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