Mysql
 sql >> база данни >  >> RDS >> Mysql

Какви са най-големите предимства от използването на INDEXES в mysql?

Кратък отговор:
Индексите ускоряват SELECT и забавете INSERT 'с.

Обикновено е по-добре да имате индекси, защото те ускоряват select повече, отколкото забавят insert .

При UPDATE индексът може да ускори нещата нагоре ако се използва индексирано поле в WHERE клауза и забавете нещата, ако update едно от индексираните полета.

Как да разберете кога да използвате индекс

Добавете EXPLAIN пред вашия SELECT изявление.
Така:

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

Ще ви покаже колко работа ще трябва да свърши MySQL за всяко от неиндексираните полета.
Използване тази информация можете да решите дали си струва да добавяте индекси или не.

Explain също може да ви каже дали е по-добре да премахнете и индексирате

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

Ако са избрани много малко редове или MySQL реши да игнорира индексът (това прави това от време на време) тогава можете също да пуснете индекса, защото тойе забавяне на вашия insert s, но не ускорява вашия select 's.

Тогава отново може да се окаже, че изявлението ви select не е достатъчно умно.
(Извинете за сложността на отговора, опитвах се да го опростя, но не успях).

Връзка:
MySQL индекси – какво представляват най-добрите практики?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проверете дали съществува ред, Laravel

  2. MySQL КЪДЕ В ()

  3. Използване на DISTINCT и COUNT заедно в MySQL заявка

  4. MySQL срещу PDO

  5. Съхранени процедури, MySQL и PHP