Indeksy MySQL ułatwiają wyszukiwanie i poprawiają szybkość zapytań SQL. Oto jak utworzyć indeks w MySQL, aby poprawić wydajność bazy danych, używając instrukcji MySQL CREATE INDEX.
Jak działa indeksowanie w MySQL
Zazwyczaj po uruchomieniu zapytania SQL z klauzulą WHERE lub innym rodzajem wyszukiwania, na przykład JOINS, MySQL musi przeskanować wszystkie rekordy w tabeli, aby znaleźć pasujące wiersze. Jeśli Twoje tabele mają miliony wierszy, może to być bardzo czasochłonne i znacznie spowolnić wykonywanie zapytań SQL.
Indeksy MySQL przyspieszają zapytania SQL, utrzymując wartości indeksowanych kolumn w strukturze B-drzewa, która jest zoptymalizowana pod kątem wyszukiwań i dopasowywania. Tak więc indeksy ułatwiają szybkie znajdowanie wierszy pasujących do jednej lub więcej wartości.
Domyślnie MySQL tworzy indeks dla każdej kolumny klucza podstawowego w Twojej bazie danych.
Przeczytaj bonus:Jak utworzyć procedurę składowaną w MySQL
Jak utworzyć indeks w MySQL
Oto kroki, aby utworzyć indeks w MySQL. Indeks można utworzyć w momencie tworzenia tabeli lub dodać go później. Przyjrzymy się obu tym podejściom.
Jak utworzyć indeks MySQL podczas tworzenia tabeli
Oto składnia tworzenia indeksu podczas tworzenia tabeli
CREATE TABLE table_name(
column_definitions,
INDEX (list_of_columns)
);
W powyższym zapytaniu nazwa_tabeli czy twoja tabela ma zostać utworzona i column_definitions to lista kolumn i definicji.
INDEKS(list_of_columns) to miejsce, w którym tworzysz indeks MySQL. Indeks zostanie utworzony dla rozdzielonej przecinkami listy kolumn wymienionych jako list_of_columns
Przeczytaj bonus:Jak utworzyć użytkownika w MySQL
Oto przykład.
CREATE TABLE orders(
order_id INT PRIMARY KEY,
sale INT NOT NULL,
product_id INT NOT NULL,
product_name VARCHAR(10),
INDEX (product_id)
);
W powyższym zapytaniu utworzyliśmy indeks dla product_id kolumna.
Oto przykład tworzenia indeksu przy użyciu wielu kolumn.
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)
);
W powyższym zapytaniu stworzyliśmy indeks dla wielu kolumn product_id, order_id
Przeczytaj bonus:Jak stworzyć bazę danych w MySQL
Jak dodać indeks do kolumny w tabeli
Powiedzmy, że chcesz dodać indeks dla kolumny lub zestawu kolumn, a następnie użyj instrukcji CREATE INDEX. Oto składnia instrukcji CREATE INDEX
CREATE INDEX index_name ON table_name (column_list)
W powyższym zapytaniu podajemy nazwę indeksu, tabelę, dla której należy utworzyć indeks oraz listę kolumn, które mają być uwzględnione w indeksowaniu.
Oto przykład dodawania nowego indeksu dla kolumny nazwa_produktu w powyższych zamówieniach stół
CREATE INDEX prod_name_index ON orders (product_name);
Aby wyświetlić indeksy dodane do tabeli, możesz użyć instrukcji SHOW INDEXES. Oto składnia dla POKAŻ INDEKSY
SHOW INDEXES from table_name;
Oto przykład wyświetlania indeksów z zamówień table
SHOW INDEXES from orders;
Mamy nadzieję, że powyższy artykuł pomoże ci stworzyć indeks w MySQL.
Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!