sql >> Database teknologi >  >> RDS >> Mysql

Hvad understøtter Table ikke optimize, men betyder genskabelse + analyser i stedet?

Det er virkelig en informativ besked.

Sandsynligvis laver du OPTIMIZE på en InnoDB tabel (tabel, der bruger InnoDB-lagringsmotoren i stedet for MyISAM lagermotor).

InnoDB understøtter ikke OPTIMIZE, som MyISAM gør. Det gør noget anderledes. Den opretter en tom tabel og kopierer alle rækkerne fra den eksisterende tabel ind i den og sletter i det væsentlige den gamle tabel og omdøber den nye tabel og kører derefter en ANALYSE for at samle statistik. Det er det tætteste, InnoDB kan komme på at lave en OPTIMIZE.

Den besked, du får, er dybest set MySQL-server, der gentager, hvad InnoDB-lagringsmotoren fortalte MySQL-serveren:

Tabel understøtter ikke optimering siger InnoDB-lagringsmotoren...

"Jeg (InnoDB-lagermaskinen) udfører ikke en OPTIMIZE-operation, som min ven (MyISAM-lagringsmotoren) gør."

"genskaber + analyserer i stedet" siger InnoDB-lagringsmotoren...

"Jeg har besluttet at optræde anderledes sæt operationer, som vil opnå et tilsvarende resultat."



  1. LOBBEHOLDELSE

  2. Klon en SQLite-database

  3. SQLite - ORDER BY RAND()

  4. Indre join med 3 borde i mysql