SQL Ottimizzazione

Da Andreabont's Wiki.

Generale

CHECK

Il check permette di verificare lo stato di una tabella.

CHECK TABLE <nome_tabella>;

ANALYZE

L'analisi della tabella è un processo di ottimizzazione che riguarda la rigenerazione degli indici.

ANALYZE TABLE <nome_tabella>;

OPTIMIZE

L'ottimizzazione è una operazione più estesa, oltre che effettuare una ANALYZE cerca anche di ridurre lo spazio occupato da una tabella su disco.

OPTIMIZE TABLE <nome_tabella>;

MySQL

Controllo frammentazione indici

SELECT ENGINE,
  concat(TABLE_SCHEMA, '.', TABLE_NAME) as table_name,
  round(DATA_LENGTH/1024/1024, 2) as data_length,
  round(INDEX_LENGTH/1024/1024, 2) as index_length,
  round(DATA_FREE/1024/1024, 2) as data_free,
  (data_free/(index_length+data_length)) as frag_ratio
FROM information_schema.tables
WHERE DATA_FREE > 0
ORDER BY frag_ratio DESC;