Diferència entre revisions de la pàgina «Optimització de MySQL»
Salta a la navegació
Salta a la cerca
(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...».) |
|||
Línia 1: | Línia 1: | ||
− | * [http://www.pontikis.net/blog/how-and-when-to-enable-mysql-logs Un bon link sobre els logs de mysql]. | + | La optimització d'uns base de dades és important |
+ | |||
+ | |||
+ | Diferents aspectes a optimitzar: | ||
+ | * [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-optimizando-un-servidor-my-cnf/ Algunes optimitzacions interessants]. | * [https://www.pedroventura.com/sysadmin/configurando-y-optimizando-un-servidor-my-cnf/ Algunes optimitzacions interessants]. | ||
− | * [http://mysqltuner.com/ Script | + | * [http://mysqltuner.com/ Script mysqltuner]: ens farà una anàlisi i ens donarà consells per millorar el rendiment. |
** Descàrrega ràpida: | ** Descàrrega ràpida: | ||
**: $ wget http://mysqltuner.pl/ -O mysqltuner.pl | **: $ wget http://mysqltuner.pl/ -O mysqltuner.pl | ||
**: $ perl mysqltunner.pl | **: $ perl mysqltunner.pl | ||
+ | ** També es pot instal·lar amb <pre>$ sudo apt-get install mysqltuner</pre> | ||
* Els [[Indexs en MySQL]] és un dels aspectes que poden millorar més el rendiment en les queries a una base de dades. | * Els [[Indexs en MySQL]] és un dels aspectes que poden millorar més el rendiment en les queries a una base de dades. | ||
* La '''fragmentació de les taules''' és un altre dels problemes típics de baixada de rendiment. | * La '''fragmentació de les taules''' és un altre dels problemes típics de baixada de rendiment. | ||
Línia 30: | Línia 35: | ||
# Tornar a habilitar les claus forànies | # Tornar a habilitar les claus forànies | ||
− | + | Tot i que ja posats, potser val més recrear tot la base de dades ;) |
Revisió del 10:22, 24 feb 2016
La optimització d'uns base de dades és important
Diferents aspectes a optimitzar:
- Un bon link sobre els logs de mysql.
- Algunes optimitzacions interessants.
- Script mysqltuner: ens farà una anàlisi i ens donarà consells per millorar el rendiment.
- Descàrrega ràpida:
- $ wget http://mysqltuner.pl/ -O mysqltuner.pl
- $ perl mysqltunner.pl
- També es pot instal·lar amb
$ sudo apt-get install mysqltuner
- Descàrrega ràpida:
- Els Indexs en MySQL és un dels aspectes que poden millorar més el rendiment en les queries a una base de dades.
- La fragmentació de les taules és un altre dels problemes típics de baixada de rendiment.
En motors MyISAM podem realitzar una optimització de les taules millorant la seva fragmentació interna.
- Analitzem la taula:
mysql> show table status like "taula1"\G
- 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:
- Volcar informació amb mysqldump
- Deshabilitar les claus forànies que depenguin de la taula
- Esborrar la taula
- Crear la taula de nou
- Carregar el volcat
- Tornar a habilitar les claus forànies
Tot i que ja posats, potser val més recrear tot la base de dades ;)