Heim  >  Artikel  >  Datenbank  >  Verwendung von MySQL-Indizes

Verwendung von MySQL-Indizes

黄舟
黄舟Original
2017-02-06 10:23:091316Durchsuche

1.1 Erstellung eines Index
 1.1.1 Erstellung eines Primärschlüsselindex
Erstellen eines Primärschlüsselindex beim Erstellen einer Tabelle
 

create table aaa(id int primary key,name varchar(64) not null default ”);

Erstellen Sie zuerst eine Tabelle und dann einen Primärschlüsselindex
 

create table aaa(id int,name varchar(64) not null default ”);
  alter table aaa add primary key(id);

Funktionen des Primärschlüsselindex
1) Eine Tabelle kann höchstens einen Primärschlüssel haben
2) Ein Primärschlüssel kann auf mehrere Spalten verweisen (zusammengesetzter Primärschlüssel). Schlüssel)
3) Primärschlüsselindex Die Effizienz ist am höchsten, daher sollten wir die ID angeben. Im Allgemeinen wird die ID automatisch inkrementiert
 4) Die Spalten des Primärschlüsselindex können nicht wiederholt werden oder null sein
 1.1.2 Der eindeutige Index wird direkt beim Erstellen der Tabelle erstellt. Eine bestimmte Spalte oder Spalten sind eindeutige Indexe.
 

mysql> create table aaa(id int,name varchar(64) not null default ”,email varchar(64) not null default ” unique);

Erstellen Sie nach dem Erstellen der Tabelle einen eindeutigen Index.
 

1)mysql> create unique index uni_name on aaa (name);
  2)mysql> alter table aaa add unique (email);

Merkmale des eindeutigen Index
 1) Eine Tabelle kann mehrere eindeutige Indizes enthalten
 2) Der eindeutige Index kann nicht wiederholt werden, aber wenn Sie nicht null angeben, Der eindeutige Index kann null sein und es können mehrere sein.
3) Wann sollte ein eindeutiger Index verwendet werden? Er kann nur verwendet werden, wenn die Daten in einer bestimmten Spalte nicht wiederholt werden
4) Der eindeutige Index ist auch sehr effizient, Sie können ihn zuerst verwenden
1.1.3 Gewöhnliche Indizes werden direkt bei der Erstellung erstellt. Geben Sie beim Erstellen einer Tabelle eine oder mehrere bestimmte Spalten als gemeinsamen Index an
 

mysql> create table aaa(id int,name varchar(64) not null default ”,namevarchar(64) not null default ” index);

Erstellen Sie nach dem Erstellen der Tabelle einen gemeinsamen Index

 1)mysql> create index ind_name on aaa (name);
  2)mysql> alter table aaa add index(name);

Funktionen
1) Eine Tabelle kann mehrere gewöhnliche Indizes enthalten, und ein gewöhnlicher Index kann auch auf mehrere Spalten verweisen
2) Daten in gewöhnlichen Indexspalten kann wiederholt werden
3) Die Effizienz ist relativ gering
1.1 .4 Erstellung eines Volltextindex
Übersicht: Der Volltextindex ist ein Index für Artikel, chinesische Schriftzeichen und Englisch, mit dem schnell a abgerufen werden kann Schlüsselwort im Artikel
 

CREATE TABLE articles (
  id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
  title VARCHAR(200),
  body TEXT,
  FULLTEXT (title,body)
  ) engine myisam charset=utf8;

Verwendung: Wählen Sie * aus Artikeln aus, in denen match(body) against('weather');
Features
1) MySQLs Standard-Vollversion Textindex, nur wirksam für die Myisam-Speicher-Engine
2) MySQLs Standard-Volltextindex, unterstützt nur Englisch
3) Stoppwörter: Für besonders häufige Buchstaben wird kein Index erstellt
4) Übereinstimmungsgrad : Der Volltextindex wird mit einer bestimmten Wahrscheinlichkeit abgeglichen.
So lösen Sie das Problem, dass der Volltextindex von MySQL kein Chinesisch unterstützt
1) Verwenden Sie ein chinesisches Such-Plug-in mysqlcft für MySQL
2) Sie können die spezialisierte chinesische Suchmaschine Sphinx für die chinesische Version verwenden ( coreseek) 1.2 Indexabfrage
Desc-Tabellenname
Schlüssel aus Tabellenname G anzeigen
Index aus Tabellennamen G anzeigen
Indizes aus Tabellennamen G anzeigen
1.3 Indexänderung
Zuerst löschen und add
1.4 Index löschen
DROP INDEX index name ON table;
ALTERTABLE table name DROP INDEX index name; Schlechte Eindeutigkeit. Es ist geeignet, einen Index separat zu erstellen, auch wenn er häufig als Abfragebedingung verwendet wird. Felder, die keine WHERE-Klausel haben, sollten keinen Index erstellen 🎜>

Das Obige ist der Inhalt des MySQL-Index. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).

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