Heim >Datenbank >MySQL-Tutorial >Detaillierte Erklärung, wie MySQL Indizes erstellt (Fall)

Detaillierte Erklärung, wie MySQL Indizes erstellt (Fall)

coldplay.xixi
coldplay.xixinach vorne
2021-03-24 09:59:575451Durchsuche

Detaillierte Erklärung, wie MySQL Indizes erstellt (Fall)

Fall: Erstellen Sie die Datenbank index_test, erstellen Sie zwei Datentabellen test_table1 und test_table2 in der Datenbank index_test gemäß der Struktur der folgenden Tabelle und führen Sie die grundlegenden Operationen an den Datentabellen entsprechend dem Operationsprozess aus.

(1) Melden Sie sich bei der MySQL-Datenbank an
(2) Erstellen Sie die Datenbank index_test
(3) Erstellen Sie die Tabelle test_table1
(4) Erstellen Sie die Tabelle test_table2, die Speicher-Engine ist MyISAM
(5) Verwenden Sie die alter table-Anweisung um das Geburtsfeld der Tabelle test_table2 zu erstellen. Ein gewöhnlicher Index namens ComDateIdx
(6) Verwenden Sie die alter table-Anweisung, um einen eindeutigen Index namens UniqIdx2 zum ID-Feld der Tabelle test_table2 hinzuzufügen und ihn in absteigender Reihenfolge anzuordnen
(7) Verwenden Sie create Index für die drei Felder Vorname, zweiter Vorname und Nachname. Erstellen Sie einen kombinierten Index mit dem Namen MultiColidx2
(8). Verwenden Sie „create index“, um einen Volltextindex mit dem Namen FTidx für das Titelfeld zu erstellen Index namens Uniqidx in der Tabelle test_table1
(10) Verwenden Sie die Drop-Index-Anweisung, um den kombinierten Index namens MultiColidx2 in der Tabelle test_table2 zu löschen

(1) Melden Sie sich bei der MySQL-Datenbank an

C:\Users\Hudie>mysql -h localhost -u root -p
Enter password: *******
(2) Erstellen Sie die Datenbank index_test
mysql> create database index_test;Query OK, 1 row affected (0.06 sec)mysql> use index_test;Database changed
(3) Erstellen Sie die Tabelle test_table1
mysql> create table test_table1    -> (
    -> id int not null primary key auto_increment,
    -> name char(100) not null,
    -> address char(100) not null,
    -> description char(100) not null,
    -> unique index uniqidx(id),
    -> index MultiColidx(name(20),address(30) ),
    -> index Comidx(description(30))
    -> );Query OK, 0 rows affected (0.11 sec)mysql> show create table test_table1 \G*************************** 1. row ***************************
       Table: test_table1Create Table: CREATE TABLE `test_table1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(100) NOT NULL,
  `address` char(100) NOT NULL,
  `description` char(100) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniqidx` (`id`),
  KEY `MultiColidx` (`name`(20),`address`(30)),
  KEY `Comidx` (`description`(30))) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci1 row in set (0.06 sec)
Sie können sehen, dass 3 Indizes erfolgreich in der Tabelle test_table erstellt wurden eindeutiger Index mit dem Namen uniqidx für das ID-Feld; die Kombination aus Namens- und Adressfeldern. Index; ein einfacher Index der Länge 30 für das Beschreibungsfeld.
(4) Erstellen Sie die Tabelle test_table2. Die Speicher-Engine ist MyISAM Tabellenanweisung, um einen gemeinsamen Index für das Geburtsfeld der Tabelle test_table2 zu erstellen. Fügen Sie einen eindeutigen Index mit dem Namen Uniqidx2 zum ID-Feld hinzu (8) Verwenden Sie „create index“, um einen Namen für das Titelfeld zu erstellen. Für den Volltextindex von FTidx.
mysql> create table test_table2    -> (
    -> id int not null primary key auto_increment,
    -> firstname char(100) not null,
    -> middlename char(100) not null,
    -> lastname char(100) not null,
    -> birth date not null,
    -> title char(100) null
    -> )ENGINE=MyISAM;Query OK, 0 rows affected (0.07 sec)
. Verwenden Sie die Drop-Index-Anweisung, um den kombinierten Index namens MultiColidx2 in der Tabelle test_table2 zu löschen.
Wenn weniger Indexspalten vorhanden sind, ist weniger Speicherplatz und Wartungsaufwand erforderlich.
Wenn mehrere kombinierte Indizes für eine große Tabelle erstellt werden, wird die Indexdatei ebenfalls schnell erweitert. Darüber hinaus gibt es mehr Indizes, die mehr Abfragen abdecken können.
Versuchen Sie, Indizes hinzuzufügen, zu löschen und zu ändern, ohne das Datenbankschema oder das Anwendungsdesign zu beeinträchtigen.

2. Versuchen Sie, kurze Indizes
zu verwenden, um Felder vom Typ Zeichenfolge zu indizieren, und Sie sollten nach Möglichkeit eine Präfixlänge angeben. Wenn Sie beispielsweise eine char(255)-Spalte haben und die meisten Werte innerhalb der ersten 10 oder 30 Zeichen eindeutig sind, besteht keine Notwendigkeit, die gesamte Spalte zu indizieren.
Ein kurzer Index kann nicht nur die Abfragegeschwindigkeit verbessern, sondern auch Speicherplatz sparen und E/A-Vorgänge reduzieren.
Verwandte kostenlose Lernempfehlungen:
MySQL-Datenbank
(Video)

    Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie MySQL Indizes erstellt (Fall). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen