sql >> Databáze >  >> RDS >> Mysql

Složený index MySQL se nepoužívá

Krátká odpověď:Index byste zde mohli používat efektivněji, pokud by váš klíč byl (accountcode, calldate) namísto (calldate, accountcode).

Nejlepším způsobem, jak problému porozumět, je myslet na vícesloupcové klíče jako na zřetězení různých sloupců. Pokud by například sloupec 1 měl hodnoty „A,B,C,D“ a sloupec 2 „W,X,Y,Z“, vytvořili byste index na „A-W, B-X, C-Y, D-Z“ atd. a dali všechny z těch do B-stromu.

Chcete-li provést dotaz na rozsah, najdete prvního nástupce dolního konce rozsahu a opakujte, dokud nepřekročíte horní rozsah. To znamená, že index můžete efektivně používat pouze k provádění dotazu na rozsah na příponu klíče.



  1. Jedna tabulka, dva sloupce dotazu MYSQL

  2. Vztah relace a připojení SQLAlchemy

  3. Jak se připojím k databázi MSSQL pomocí modulu DBI v Perlu ve Windows?

  4. Limity SQL NVARCHAR a VARCHAR