sql >> Databasteknik >  >> RDS >> Mysql

Mysql-index ignoreras

FORCE är lite av en felaktig benämning. Här är vad MySQL-dokumenten säger (min betoning):

Du kan också använda FORCE INDEX, som fungerar som USE INDEX (index_list) men med tillägget att en tabellskanning antas vara mycket dyr. Med andra ord, en tabellsökning används endast om det inte finns något sätt att använda ett av de givna indexen för att hitta rader i tabellen.

Eftersom du faktiskt inte "hittar" några rader (du väljer dem alla), är en tabellsökning alltid kommer att vara snabbast, och optimeraren är smart nog att veta det trots vad du säger till dem.

ETA:

Försök att lägga till en ORDER BY på primärnyckeln en gång och jag slår vad om att den kommer att använda indexet.



  1. funktion för att rensa indata till Mysql-databasen

  2. Driftsrapporter för MySQL, MariaDB, PostgreSQL &MongoDB

  3. ALTER TABLE-satsen stod i konflikt med FOREIGN KEY-begränsningen

  4. Jag får NotImplementedError när jag försöker göra en förberedd sats med mysql python connector