MySQL-index gör det enkelt att göra uppslagningar och förbättra SQL-frågehastigheten. Så här skapar du index i MySQL för att förbättra databasprestanda, med hjälp av MySQL CREATE INDEX-satsen.
Hur indexering fungerar i MySQL
Vanligtvis, när du kör en SQL-fråga med en WHERE-sats eller andra typer av uppslag som för JOINS, måste MySQL skanna alla poster i din tabell för att hitta matchande rader. Om dina tabeller har miljontals rader kan detta vara mycket tidskrävande och sakta ner dina SQL-frågor avsevärt.
MySQL-index påskyndar dina SQL-frågor genom att behålla de indexerade kolumnvärdena i en B-trädstruktur som är optimerad för uppslagningar och matchning. Så index gör det lättare att snabbt hitta rader som matchar ett eller flera värden.
Som standard skapar MySQL index för varje primärnyckelkolumn i din databas.
Bonus Läs:Hur man skapar lagrad procedur i MySQL
Hur man skapar index i MySQL
Här är stegen för att skapa index i MySQL. Du kan antingen skapa index vid tidpunkten för tabellskapandet eller lägga till det i efterhand. Vi kommer att titta på båda dessa tillvägagångssätt.
Hur man skapar MySQL-index under tabellskapandet
Här är syntaxen för att skapa index under tabellskapandet
CREATE TABLE table_name(
column_definitions,
INDEX (list_of_columns)
);
I ovanstående fråga, tabellnamn är din tabell som ska skapas och kolumndefinitioner är listan över kolumner och definitioner.
INDEX(lista_över_kolumner) är där du skapar MySQL-index. Indexet kommer att skapas för den kommaseparerade listan med kolumner som nämns som list_of_columns
Bonus Läs:Hur man skapar användare i MySQL
Här är ett exempel.
CREATE TABLE orders(
order_id INT PRIMARY KEY,
sale INT NOT NULL,
product_id INT NOT NULL,
product_name VARCHAR(10),
INDEX (product_id)
);
I ovanstående fråga har vi skapat Index för product_id kolumn.
Här är ett exempel på hur du skapar index med flera kolumner.
CREATE TABLE orders(
order_id INT PRIMARY KEY,
sale INT NOT NULL,
product_id INT NOT NULL,
product_name VARCHAR(10),
INDEX (product_id, order_id)
);
I ovanstående fråga har vi skapat index för flera kolumner product_id, order_id
Bonus Läs:Hur man skapar en databas i MySQL
Hur man lägger till index till kolumn i tabell
Låt oss säga att du vill lägga till index för kolumn eller uppsättning kolumner, och använd sedan CREATE INDEX-satsen. Här är syntaxen för CREATE INDEX-satsen
CREATE INDEX index_name ON table_name (column_list)
I frågan ovan anger vi indexnamnet, tabellen som du behöver skapa index för och lista över kolumner som ska inkluderas i indexeringen.
Här är ett exempel för att lägga till nytt index för kolumnen produktnamn i ovanstående beställningar bord
CREATE INDEX prod_name_index ON orders (product_name);
För att se de index som lagts till i en tabell kan du använda SHOW INDEXES-satsen. Här är syntaxen för VISA INDEX
SHOW INDEXES from table_name;
Här är ett exempel för att visa index från order tabell
SHOW INDEXES from orders;
Förhoppningsvis kommer artikeln ovan att hjälpa dig att skapa index i MySQL.
Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!