Úvod
MySQL je databázová aplikace, která organizuje data v tabulkách, které mají hodnoty uspořádané do řádků a sloupců. V MySQL index je datová struktura, díky které lze informace lépe vyhledávat.
Bez indexu MySQL čte celou tabulku, aby našel požadovaný řádek, a je velmi neefektivní.
Tato příručka vám ukáže, jak vytvořit index v MySQL pomocí CREATE INDEX
prohlášení.
Předpoklady
- Stávající instalace MySQL
- Uživatelský účet MySQL s rootem nebo admin privilegia
- Přístup do příkazového řádku / okna terminálu:
- V systému Linux klikněte na Aktivity> Hledat> Terminál
- Ve Windows klikněte pravým tlačítkem na Start> Příkazový řádek (nebo Windows PowerShell)
MySQL Create Index Syntax
CREATE INDEX
příkaz v MySQL používá následující formát:
mysql> CREATE INDEX [some_index] ON [some_table] ([some_column],[other_column]);
some_index
– Název indexusome_table
– Název tabulky s indexovanými sloupcisome_column, other_column
– Názvy sloupců, které mají být indexovány
MySQL vytvoří index v nové tabulce
Chcete-li vytvořit index současně, je tabulka vytvořena v MySQL:
1. Otevřete okno terminálu a přihlaste se do prostředí MySQL.
mysql -u username -p
2. Vytvořte a přepněte do nové databáze zadáním následujícího příkazu:
mysql> CREATE DATABASE mytest;
Query OK, 1 row affected (0.01 sec)
mysql; USE mytest;
Database changed
3. Dále vytvořte sloupce v tabulce a indexujte je:
mysql> CREATE TABLE example (
col1 INT PRIMARY KEY,
col2 INT NOT NULL,
col3 INT NOT NULL,
col4 VARCHAR(20),
INDEX (col2, col3)
);
Příkaz vytvoří tabulku s názvem příklad , naplní jej 4 sloupci a přidá indexy pro sloupec 2 a sloupec 3.
4. Dále zobrazte seznam indexů z tabulky:
mysql; SHOW INDEXES FROM example;
Měli byste vidět index pro PRIMARY, COL2 a COL3. I když nebyl zadán PRIMARY, MySQL automaticky vytvořila index pro primární klíč.
Přidat index do existující tabulky MySQL
Osvědčené postupy MySQL doporučují vytvořit index současně s vytvořením tabulky. Index však lze také přidat do existující tabulky. Níže uvedené pokyny vysvětlují, jak přidat index do existující tabulky MySQL.
1. Vytvořte novou tabulku zadáním následujícího příkazu:
mysql> CREATE TABLE example2 (
col1 INT PRIMARY KEY,
col2 VARCHAR(20),
col3 VARCHAR(20),
col4 VARCHAR(20)
);
Query OK, 0 rows affected (0.25 sec)
2. Dále zobrazte aktuální index pro příklad2 :
mysql> SHOW INDEXES FROM example2;
Systém by měl zobrazit jeden index pro primární klíč.
3. Dále přidejte index pro sloupec2 a sloupec3 zadáním následujícího příkazu:
mysql> CREATE INDEX index1 ON example2 (col2,col3);
4. Zobrazte indexy pro příklad2 :
mysql> SHOW INDEXES FROM example2;
Systém by nyní měl zobrazit index primárního klíče plus col2 a col3 uvedené v index1 .