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

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

Трябва да използвате съставен индекс, когато използвате заявки, които се възползват от него. Съставен индекс, който изглежда така:

index( column_A, column_B, column_C )

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

index( column_A, column_B, column_C )
index( column_A, column_B )
index( column_A )

Но няма (поне не директно, може би може да помогне частично, ако няма по-добри индекси) ще помогне за заявки, които се нуждаят

index( column_A, column_C )

Забележете как липсва колона_B.

В оригиналния ви пример съставен индекс за две измерения ще бъде от полза най-вече за заявки, които извършват заявки за двете измерения или за най-лявото измерение сами по себе си, но не и за най-дясното измерение само по себе си. Ако винаги задавате заявки за две измерения, композитният индекс е начинът, по който трябва да отидете, няма значение кое е първо (най-вероятно).



  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. MySQL:Не може да се създаде таблица (errno:150)

  3. Как да синхронизирам повторно Mysql DB, ако главен и подчинен имат различен корпус на база данни на Mysql репликация?

  4. Генериране на поредица от дати

  5. MySQL – Вземете последната цена на заявката, като използвате SHOW STATUS КАТО „Last_Query_Cost“