Come ottimizzare mysql

April 13

MySQL è un motore di database simile a PostgreSQL, Oracle o MS SQL server, in quanto consente di creare tabelle e memorizzare i dati.

Per molti siti web dinamici MySql è un requisito per il funzionamento - ed è un enorme potenziale collo di bottiglia se l'applicazione e il server non sono configurate correttamente

istruzione

1 tavolo ottimizzare corsa contro le tabelle
Questo comando deframmenta un tavolo dopo aver eliminato un sacco di righe da esso.

2 Utilizzare inserto in ritardo quando non hai bisogno di una gratificazione istantanea - una risposta immediatamente - quando i dati sono scritti. Questo riduce l'impatto globale di inserimento perché molte righe possono essere scritte con una singola scrittura del disco.

3 usare priorità dichiarazione

* Use INSERT LOW_PRIORITY when you want to give SELECT statements higher priority than your inserts.

* Utilizzare SELECT HIGH_PRIORITY per ottenere recuperi che saltare la coda. Cioè, il SELECT viene eseguito anche se vi è un altro aspetto client.

4 Utilizzare istruzioni INSERT più righe di memorizzare molte righe con una sola istruzione SQL.

5 Non utilizzare le autorizzazioni complesse. Il più complesso configurare i permessi, più in alto si ha. Prova utilizzando semplici istruzioni GRANT per ridurre il sovraccarico alzando lo sguardo e le autorizzazioni che si applicano causerà.

6 Quando si analizzano le prestazioni delle query, è anche utile considerare la parola chiave spiegare. Questa parola chiave, quando messo di fronte a una query SELECT, descrive come MySQL intende eseguire la query e il numero di righe avrà bisogno di trattare con successo per fornire un set di risultati.

Esempio di utilizzo: spiegare select * from tabella

7 Prova ottimizzare il vostro punto in cui

Rimuovere parentheseswhen inutile l'utilizzo di "count (*)" a database non MyISAM assicurarsi di avere indici presentmake tuoi dove clausole più specifico possibile

8 utilizzare gli indici
MySQL consente di tabelle del database indice, rendendo possibile cercare rapidamente ai record senza eseguire una scansione completa della tabella prima e, quindi, in modo significativo ad accelerare l'esecuzione di query. È possibile avere fino a 16 indici per tabella, e MySQL supporta anche gli indici su più colonne e full-text indici di ricerca.

L'aggiunta di un indice per una tabella è semplice come chiamare il comando INDEX CREATE e specificando il campo (s) da indicizzare.

9 Regolare variabili server interni come key_buffer, read_buffer_size, table_cache, query_cache_size, query_cache_type, query_cache_limit e long_query_time può andare un lungo cammino. Non esiste una "risposta giusta" per quei valori, quindi è necessario per giocare con loro. essi sarà diverso su ogni server.

Consigli e avvertenze

  • Questa variabile controlla la dimensione del buffer utilizzato durante la manipolazione degli indici di tabella (sia in lettura e scrittura). Il manuale di MySQL raccomanda che questa variabile essere aumentato "per quanto si può permettere" per essere sicuri di ottenere le migliori prestazioni su tabelle indicizzate, e raccomanda un valore equivalente a circa il 25 per cento della memoria totale del sistema. Questa è una delle più importanti variabili di configurazione di MySQL e se siete interessati ad ottimizzare e migliorare le prestazioni
  • Quando si aumenta max_connections assicurarsi di aumentare anche le tabelle di massima apertura, altrimenti si può essere permettendo a più persone di connettersi e interrogare le tabelle possono quindi consentire, rallentando così i tempi di risposta.