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

MySQL комбиниран индекс не се използва

Кратък отговор:Тук бихте могли да използвате индекса по-ефективно, ако ключът ви беше (код на акаунта, дата на повикване) вместо (дата на обаждане, код на акаунт).

Най-добрият начин да разберете проблема е като мислите, че ключовете с няколко колони са конкатенация на различните колони. Като пример, ако колона 1 има стойности 'A,B,C,D' и колона 2 'W,X,Y,Z', вие бихте конструирали индекс за 'A-W, B-X, C-Y, D-Z' и т.н. и ще поставите всички от тях в 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. Отделете различна версия на уебсайт

  2. Knex.js предотвратява ли инжектирането на sql?

  3. Sails не могат да се свържат с mySql

  4. Как да извлечем категории и подкатегории в една заявка в sql? (mysql)

  5. Възможно ли е в MySQL да има индекс, базиран на функции?