Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Ignorowany indeks MySQL

FORCE jest trochę mylącą nazwą. Oto, co mówią dokumenty MySQL (podkreślenie moje):

Możesz również użyć FORCE INDEX, który działa jak USE INDEX (index_list), ale z dodatkiem, że skanowanie tabeli jest uważane za bardzo kosztowne. Innymi słowy, skanowanie tabeli jest używane tylko wtedy, gdy nie ma możliwości użycia jednego z podanych indeksów do znalezienia wierszy w tabeli.

Ponieważ w rzeczywistości nie „znajdziesz” żadnych wierszy (wybierasz je wszystkie), skanowanie tabeli jest zawsze będzie najszybszy, a optymalizator jest na tyle sprytny, że wie to wbrew temu, co im mówisz.

ETA:

Spróbuj raz dodać ORDER BY do klucza podstawowego, a założę się, że użyje indeksu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy moduł MySQLdb obsługuje przygotowane instrukcje?

  2. obraz nie jest pobierany z bazy danych przy użyciu ścieżki

  3. Jak utworzyć histogram w MySQL?

  4. Zamień znaki spoza ASCII w MYSQL

  5. Połącz z bazą danych z klasą PHP nie działa podczas próby pobrania wyników