Vorwort:In MySQL verfügt grundsätzlich jede Tabelle über einen Index, und manchmal müssen Sie je nach Geschäftsszenario unterschiedliche Indizes hinzufügen. Die Erstellung von Indizes ist für den effizienten Betrieb der Datenbank sehr wichtig. Dieser Artikel stellt die Kenntnisse und Vorsichtsmaßnahmen im Zusammenhang mit der Erstellung von Indizes vor. 1. Indexmethode erstellenSie können einen Index erstellen, wenn Sie eine Tabelle erstellen, oder Sie können die Anweisung „alter table“ oder „create index“ verwenden, um einen Index zu erstellen, nachdem die Tabelle erstellt wurde. Nachfolgend sind einige gängige Szenarien zur Indexerstellung aufgeführt. # Geben Sie den Index beim Erstellen der Tabelle an CREATE TABLE `t_index` ( `increment_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Primärschlüssel automatisch inkrementieren', `col1` int(11) NICHT NULL, `col2` varchar(20) NICHT NULL, `col3` varchar(50) NICHT NULL, `col4` int(11) NICHT NULL, `col5` varchar(50) NICHT NULL, PRIMÄRSCHLÜSSEL (`increment_id`), EINZIGARTIGER SCHLÜSSEL `uk_col1` (`col1`), SCHLÜSSEL `idx_col2` (`col2`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Testindex'; # Index erstellen (zwei Methoden) # Normaler Index, alter table `t_index`, add index idx_col3 (col3); Erstellen Sie den Index idx_col3 auf t_index(col3); # Eindeutiger Index, alter table `t_index`, eindeutigen Index uk_col4 (col4) hinzufügen; Erstellen Sie einen eindeutigen Index uk_col4 auf t_index(col4). # Gemeinsamer Index, alter table `t_index`, add index idx_col3_col4 (col3,col4); Erstellen Sie den Index idx_col3_col4 auf t_index(col3,col4); # Präfixindex alter table `t_index` add index idx_col5 (col5(20)); Erstelle den Index idx_col5 auf t_index(col5(20)); # Zeigen Sie den Tabellenindex an mysql> show index from t_index; +---------+------------+----------+-----------+--------------+---------------+--------------+-------------+----------+----------+--------+---------+---------+---------+---------+---------+ | Tabelle | Nicht_eindeutig | Schlüsselname | Sequenz_im_Index | Spaltenname | Sortierung | Kardinalität | Unterteil | Gepackt | Null | Indextyp | Kommentar | Indexkommentar | +---------+------------+----------+-----------+--------------+---------------+--------------+-------------+----------+----------+--------+---------+---------+---------+---------+---------+ | t_index | 0 | PRIMARY | 1 | increment_id | A | 0 | NULL | NULL | | BTREE | | | | t_index | 0 | uk_col1 | 1 | col1 | A | 0 | NULL | NULL | | BTREE | | | | t_index | 1 | idx_col2 | 1 | col2 | A | 0 | NULL | NULL | | BTREE | | | | t_index | 1 | idx_col3 | 1 | col3 | A | 0 | NULL | NULL | | BTREE | | | +---------+------------+----------+-----------+--------------+---------------+--------------+-------------+----------+----------+--------+---------+---------+---------+---------+---------+ 2. Zum Erstellen eines Indexes erforderliche BerechtigungenWenn Sie nicht das Root-Konto verwenden, müssen Sie beim Erstellen eines Index das Berechtigungsproblem berücksichtigen. Benötigen Sie nur Berechtigungen zum Erstellen und Ändern? Schauen wir uns das genauer an. # Benutzerberechtigungen testen mysql> show grants; +--------------------------------------------------------------------------------------------------+ | Zuschüsse für testuser@% | +--------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'Testbenutzer'@'%' | | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER ON `testdb`.* TO 'testuser'@'%' | +--------------------------------------------------------------------------------------------------+ # Index mit „alter table mysql“ erstellen> alter table „t_index“ add index idx_col2 (col2); Abfrage OK, 0 Zeilen betroffen (0,05 Sek.) Datensätze: 0 Duplikate: 0 Warnungen: 0 # Index erstellen mysql> Index erstellen idx_col3 auf t_index(col3); FEHLER 1142 (42000): INDEX-Befehl für Benutzer „testuser“@„localhost“ für Tabelle „t_index“ verweigert # Index erstellen Zum Erstellen eines Index benötigen Sie auch die Indexberechtigung. Erteilen Sie die Indexberechtigung und führen Sie dann mysql> create index idx_col3 on t_index(col3); aus. Abfrage OK, 0 Zeilen betroffen (0,04 Sek.) Datensätze: 0 Duplikate: 0 Warnungen: 0 Aus dem obigen Test können wir ersehen, dass zum Erstellen eines Indexes mit der Methode „Alter Table“ die Änderungsberechtigung erforderlich ist und zum Erstellen eines Indexes mit der Methode „Create Index“ die Indexberechtigung erforderlich ist. Darüber hinaus können Sie Indizes auch mit „alter table `tb_name` drop index xxx“ und „drop index xxx on tb_name“ löschen, wofür jeweils Änderungs- und Indexberechtigungen erforderlich sind. Der offensichtliche Vorteil von Indizes besteht darin, dass sie Abfragen beschleunigen können. Das Erstellen von Indizes ist jedoch auch mit Kosten verbunden. Erstens muss bei jeder Indexerstellung ein B+-Baum dafür erstellt werden, was zusätzlichen Speicherplatz beansprucht. Zweitens muss der Index auch dynamisch verwaltet werden, wenn Daten in der Tabelle hinzugefügt, gelöscht oder geändert werden, was die Geschwindigkeit der Datenverwaltung verringert. Daher müssen wir beim Erstellen von Indizes immer noch das Geschäft berücksichtigen. Es wird empfohlen, einer Tabelle nicht zu viele Indizes hinzuzufügen. Oben finden Sie detaillierte Informationen zum Erstellen von MySQL-Indizes. Weitere Informationen zum Erstellen von MySQL-Indizes finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Der grundlegendste Code für Webseiten
>>: Berechnung des Prozentwerts, wenn die CSS-Positionseigenschaft absolut ist
In der Front-End-Entwicklung gibt es viele Möglic...
Konfigurieren von Java-Umgebungsvariablen Hier we...
Machen Sie sich eine Notiz, damit Sie später dara...
Es ist auch sehr einfach, Django-Projekte mit Doc...
2.1 Semantisierung sorgt dafür, dass Ihre Webseit...
Im Webdesign hört man oft die Eigenschaftsnamen „...
Inhaltsverzeichnis Was ist asynchron? Warum brauc...
Das Filterattribut definiert die visuelle Wirkung...
Methode 1: Absenden über den Absenden-Button <...
Vorwort In diesem Artikel wird das Installationst...
Inhaltsverzeichnis 1. Grundlegende Verwendung von...
Inhaltsverzeichnis Vorwort Szenarioanalyse Zusamm...
Vorwort Ich bin einmal auf ein schwieriges Proble...
Inhaltsverzeichnis Vorwort Deskriptoren Detaillie...