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

Proč může index velmi zpomalit dotaz?

Protože stále potřebujete číst všechna data z indexu + datového souboru. Protože nepoužíváte žádné where podmínka - vždy budete mít plán dotazů, který přistupuje ke všem datům, řádek po řádku a nemůžete s tím nic dělat.

Pokud je pro tento dotaz důležitý výkon a provádí se často – navrhoval bych uložit výsledky do mezipaměti do nějaké dočasné tabulky a aktualizovat ji každou hodinu (denně atd.).

Proč se to zpomaluje:protože v indexu jsou data již tříděna a když mysql počítá náklady na provedení dotazu, myslí si, že bude lepší použít již setříděná data, pak je seskupit a poté vypočítat agregáty. Ale to není v tomto případě.



  1. Erlang emysql Problém s kódováním emodži pro iPhone

  2. Jak získat struktury tabulek ze souboru .frm pomocí PHP?

  3. Potřebujete dotaz na mysql

  4. kopírování z jedné databáze do druhé pomocí vývojáře Oracle SQL - připojení se nezdařilo