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

Кога да добавите индекс към поле на SQL таблица (MySQL)?

Не винаги е ясно къде да се използват индекси в SQL таблици. Но има някои общи правила, които могат да ви помогнат да вземете решение в повечето случаи.

  1. Поставете индекс на колони, които се използват в клаузите where
  2. Поставете индекс на колони, които използвате за присъединяване.
  3. Опитайте се да не използвате повече от 4-5 индекса за колони в една и съща таблица.

А общите понятия, които трябва да имате предвид, са:

  1. Всеки индекс, който използвате, ще направи търсенето в тези колони по-бързо.
  2. Всеки индекс, който добавите, причинявайки вмъкването в тази таблица да става малко по-бавно.
  3. От предишните две. Ваша отговорност е да решите колко вмъквания и заявки правите в таблици, за да решите дали да използвате индекс и на кои колони или не.

РЕДАКТИРАНЕ

Коментарът на @AndrewLazarus е наистина важен и реших да го добавя към отговора:

  1. Не използвайте индекси за колони само с няколко различни стойности. Например колона, която съдържа състояние, когато има само няколко състояния, или булева стойност. Причината да не го направите е, че индексът не ви помага наистина, тъй като той ще бъде разделен само на броя на стойностите и тъй като имате само няколко от тях, няма да има реална полза. Таблицата ще заема повече място с индекса и преформата по-бавно при вмъкване, но няма да получите значително по-добра производителност, докато правите заявки


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Най-добрият начин за хостване на MySQL в Azure Cloud

  2. Таблицата на базата данни не съществува според компилатора на android studio

  3. Как да направя групово вмъкване в MySQL?

  4. Откриване на грешка при актуализиране/вмъкване на mysql поради нарушено уникално ограничение

  5. MySql Как да задам локална променлива в изявление за актуализиране (синтаксис?)