Das Konzept des MySQL-Index
Der Index ist eine spezielle Datei (der Index der InnoDB-Datentabelle ist eine Komponente des Tabellenbereichs. Sie enthält alle Daten in den Daten). Tabelle. Der Referenzzeiger des Datensatzes. Allgemeiner ausgedrückt ist ein Datenbankindex wie das Inhaltsverzeichnis am Anfang eines Buches, das Datenbankabfragen beschleunigen kann. Wenn in der obigen SQL-Anweisung kein Index vorhanden ist, durchläuft die Datenbank alle 200 Daten und wählt diejenigen aus, die die Bedingungen erfüllen. Mit dem entsprechenden Index sucht die Datenbank direkt nach den Optionen, die die Bedingungen im Index erfüllen . Wenn wir die SQL-Anweisung in „SELECT * FROM Article WHERE id=2000000“ ändern, möchten Sie, dass die Datenbank Ihnen die Ergebnisse nach dem Lesen von 2 Millionen Datenzeilen nacheinander liefert oder sie direkt im Index lokalisiert? (Hinweis: Im Allgemeinen Die Datenbank generiert standardmäßig Indizes für den Primärschlüssel.
Empfohlener Kurs: MySql Tutorial.
Indizes werden in Clustered-Indizes und Nicht-Cluster-Indizes unterteilt. Nicht-Cluster-Indizes werden nach dem physischen Speicherort der Daten sortiert sind unterschiedlich; Clustered-Indizes können die Geschwindigkeit beim Abrufen mehrerer Zeilen erhöhen, während Nicht-Cluster-Indizes beim Abrufen einzelner Zeilen sehr schnell sind.
Typen von MySQL-Indizes
1. Gewöhnlicher Index
Dies ist der einfachste Index, er unterliegt keinen Einschränkungen. Beispielsweise ist der für das Titelfeld oben erstellte Index ein normaler Index, und der Standardindex vom Typ BTREE in MyIASM ist ebenfalls ein normaler Index Indizes verwenden wir in den meisten Fällen.
–直接创建索引 CREATE INDEX index_name ON table(column(length)) –修改表结构的方式添加索引 ALTER TABLE table_name ADD INDEX index_name ON (column(length)) –创建表的时候同时创建索引 CREATE TABLE `table` ( `id` int(11) NOT NULL AUTO_INCREMENT , `title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL , `time` int(10) NULL DEFAULT NULL , PRIMARY KEY (`id`), INDEX index_name (title(length)) ) –删除索引 DROP INDEX index_name ON table
2. Der eindeutige Index
ähnelt einem normalen Index, außer dass der Wert der Indexspalte eindeutig sein muss, aber Nullwerte zulässig sind ( Beachten Sie, dass er sich vom Primärschlüssel unterscheidet. Wenn es sich um einen kombinierten Index handelt, muss die Kombination der Spaltenwerte eindeutig sein und die Erstellungsmethode ähnelt der eines normalen Index.
–创建唯一索引 CREATE UNIQUE INDEX indexName ON table(column(length)) –修改表结构 ALTER TABLE table_name ADD UNIQUE indexName ON (column(length)) –创建表的时候直接指定 CREATE TABLE `table` ( `id` int(11) NOT NULL AUTO_INCREMENT , `title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL , `time` int(10) NULL DEFAULT NULL , PRIMARY KEY (`id`), UNIQUE indexName (title(length))
Das obige ist der detaillierte Inhalt vonSo verwenden Sie den MySQL-Index. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!