Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak stworzyć indeks w MySQL

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ś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przesyłanie strumieniowe dużych zestawów wyników za pomocą MySQL

  2. Jak zmienić nazwę przesłanego pliku przed zapisaniem go w katalogu?

  3. Ściągawka w formacie daty MySQL

  4. Zapisz dane w języku arabskim w bazie danych MySQL

  5. Lista specyfikatorów formatu daty MySQL