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

Co znamená, že tabulka nepodporuje optimalizaci, místo toho znamená znovu vytvořit + analyzovat?

To je opravdu informativní zpráva.

Pravděpodobně provádíte OPTIMIZE na InnoDB tabulka (tabulka využívající úložný stroj InnoDB, spíše než MyISAM úložiště).

InnoDB nepodporuje OPTIMIZE tak, jak to dělá MyISAM. Dělá to něco jiného. Vytvoří prázdnou tabulku a zkopíruje do ní všechny řádky ze stávající tabulky a v podstatě odstraní starou tabulku a přejmenuje novou tabulku a poté spustí ANALÝZA pro shromáždění statistik. To je nejblíže, jak se InnoDB může dostat k provedení OPTIMIZE.

Zpráva, kterou dostáváte, je v podstatě server MySQL opakující to, co řekl serveru úložiště InnoDB serveru MySQL:

Tabulka nepodporuje optimalizaci je úložiště InnoDB, které říká...

"Já (úložný modul InnoDB) neprovádím operaci OPTIMALIZACE jako můj přítel (úložný modul MyISAM."

"místo toho znovu vytvořit + analyzovat" je úložiště InnoDB, které říká...

„Rozhodl jsem se provést jiný výkon soubor operací, které dosáhnou ekvivalentního výsledku."



  1. Najít sloupce vrácené funkcí s hodnotou tabulky (příklady T-SQL)

  2. Řešení pro vkládání zámků záměru v MySQL

  3. Ustanovení kde filtrovat řádky v MySQL

  4. KNIME