sql >> Databasteknik >  >> RDS >> Mysql

Optimera innodb-tabellen

Från dokumentationen :

För InnoDB-tabeller mappas OPTIMIZE TABLE till ALTER TABLE, vilket bygger om tabellen för att uppdatera indexstatistik och frigöra oanvänt utrymme i det klustrade indexet. Från och med MySQL 5.1.27 visas detta i utgången av OPTIMIZE TABLE när du kör den på en InnoDB-tabell, som visas här:

mysql> OPTIMIZE TABLE foo;
+----------+----------+----------+-----------------------------------------------------------
| Table    | Op       | Msg_type | Msg_text                                                    
+----------+----------+----------+-----------------------------------------------------------    
| test.foo | optimize | note     | Table does not support optimize, doing recreate + analyze ...
| test.foo | optimize | status   | OK                                                            
+----------+----------+----------+-----------------------------------------------------------

Du kan få OPTIMIZE TABLE att fungera på andra lagringsmotorer genom att starta mysqld med alternativet --skip-new eller --safe-mode. I det här fallet mappas OPTIMIZE TABLE bara till ALTER TABLE.




  1. MySQL:indexera json-arrayer med variabel längd?

  2. kolumn inte tillåten här fel i INSERT-satsen

  3. Hur stoppar/dödar man en fråga i postgresql?

  4. SQL-räkning för en datumkolumn