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

Jakie są największe korzyści z używania INDEKSÓW w mysql?

Krótka odpowiedź:
Indeksy przyspieszają SELECT i zwolnij INSERT 's.

Zwykle lepiej mieć indeksy, ponieważ przyspieszają select bardziej niż spowalniają insert .

Podczas UPDATE indeks może przyspieszyć rzeczy wzrost jeśli indeksowane pole jest używane w WHERE klauzula i spowolnij działanie, jeśli update jedno z indeksowanych pól.

Skąd wiesz, kiedy użyć indeksu

Dodaj EXPLAIN przed Twoim SELECT oświadczenie.
Tak jak:

EXPLAIN SELECT * FROM table1 
WHERE unindexfield1 > unindexedfield2 
ORDER BY unindexedfield3

Pokaże, ile pracy MySQL będzie musiał wykonać na każdym z nieindeksowanych pól.
Używanie te informacje możesz zdecydować, czy warto dodawać indeksy, czy nie.

Wyjaśnij może również powiedzieć, czy lepiej jest porzucić i indeksować

EXPLAIN SELECT * FROM table1 
WHERE indexedfield1 > indexedfield2 
ORDER BY indexedfield3

Jeśli zaznaczono bardzo mało wierszy lub MySQL zdecydował się zignorować indeks (robi to od czasu do czasu) wtedy równie dobrze możesz porzucić indeks, ponieważ jest spowalnia insert s, ale nie przyspieszając select s.

Może też być tak, że instrukcja select nie jest wystarczająco sprytna.
(Przepraszam za złożoność odpowiedzi, starałem się, aby była prosta, ale nie udało mi się).

Link:
Indeksy MySQL - jakie są najlepsze praktyki?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak podzielić tekst oddzielony przecinkami w procedurze składowanej MySQL

  2. MySQL GROUP_CONCAT z COLUMN SPLIT

  3. Wyodrębnij dane z json w polu mysql

  4. MySQL:wybierz pierwszy element listy oddzielonej przecinkami

  5. Laravel :Jak przechowywać dane w formacie json w bazie danych?