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

Ще се използват ли индексите, ако направите заявка за подмножество от колоните на индекса?

Документацията на MySQL върши добра работа, за да обясни как работят индексите с няколко колони тук .

По принцип индексът може да се използва за where клауза, когато някакъв брой колони в най-лявата страната на индекса имат условия за равенство. Вашето where клаузите използват следните колони:

  • c1, c2
  • c1, c2, c3, c4
  • c1, c2
  • c1, c2, c5

Всеки индекс, започващ с колони c1 и c2 обикновено се използва за тези заявки. MySQL може да приложи други условия за използване на индекса, като селективност. Тоест, ако c1 и c2 имат постоянни стойности (например), тогава използването на индекс няма да е от полза за заявката.

За да оптимизирате всички тези комбинации, можете да създадете два индекса:c1, c2, c3, c4 и c2, c1, c5 . Причината за смяна на c1 и c2 във втория индекс е така, че можете обработват заявки, при които условието е на c2 но не и c1 , както и обратното.



  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 за администриране на база данни

  2. Отделно срещу групиране по

  3. MySQL - ИЗБЕРЕТЕ КАТО в WHERE

  4. Регистрация на потребител чрез грешка в сервлета

  5. Достъпът до MYSQL във външния файл е отказан - но моят потребител има ЦЯЛ достъп.. и папката е CHMOD 777