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

Index Mysql je ignorován

FORCE je trochu nesprávné označení. Zde je to, co říkají dokumenty MySQL (zdůrazňuji můj):

Můžete také použít FORCE INDEX, který funguje jako USE INDEX (index_list), ale navíc se předpokládá, že skenování tabulky je velmi nákladné. Jinými slovy, prohledávání tabulky se používá pouze v případě, že neexistuje způsob, jak pomocí jednoho z daných indexů najít řádky v tabulce.

Protože ve skutečnosti „nenajdete“ žádné řádky (vybíráte je všechny), je skenování tabulky vždy bude nejrychlejší a optimalizátor je dostatečně chytrý, aby to věděl navzdory tomu, co mu říkáte.

ETA:

Zkuste jednou přidat ORDER BY na primární klíč a vsadím se, že to použije index.



  1. KLÍČE SQL

  2. MySQLi připravilo zprávy o chybách

  3. 6 zábavných faktů o společnosti Microsoft, které pravděpodobně neznáte!

  4. Vkládání dat SQL Serveru do Salesforce pomocí kurzoru