Optimització de MySQL

De Cacauet Wiki
La revisió el 10:17, 24 feb 2016 per Enric (discussió | contribucions) (Es crea la pàgina amb «* [http://www.pontikis.net/blog/how-and-when-to-enable-mysql-logs Un bon link sobre els logs de mysql]. * [https://www.pedroventura.com/sysadmin/configurando-y-optimiz...».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Salta a la navegació Salta a la cerca

En motors MyISAM podem realitzar una optimització de les taules millorant la seva fragmentació interna.

  1. Analitzem la taula:
    mysql> show table status like "taula1"\G
  2. Optimitzem taula:
    mysql> optimize table taula1;

En el cas de InnoDB no podem realitzar aquestes optimitzacions. Si ho intentem, ens dirà això:

mysql> optimize table watchlist;
+-------------------------+----------+----------+-------------------------------------------------------------------+
| Table                   | Op       | Msg_type | Msg_text                                                          |
+-------------------------+----------+----------+-------------------------------------------------------------------+
| enricmie_wiki.watchlist | optimize | note     | Table does not support optimize, doing recreate + analyze instead |
| enricmie_wiki.watchlist | optimize | status   | OK                                                                |
+-------------------------+----------+----------+-------------------------------------------------------------------+
2 rows in set (0.40 sec)

Per optimitzar la fragmentació d'una InnoDB caldria:

  1. Volcar informació amb mysqldump
  2. Deshabilitar les claus forànies que depenguin de la taula
  3. Esborrar la taula
  4. Crear la taula de nou
  5. Carregar el volcat
  6. Tornar a habilitar les claus forànies