Domanda

Utilizzando mysqldumpslow, posso vedere che le voci più comuni in un log di MySQL query lente sono del seguente modulo:

SELECT /*!N SQL_NO_CACHE */ from wp_posts (or wp_comments).

Non riesco a trovare molte informazioni su ciò che questo significa dichiarazione e se ho bisogno di preoccuparsi abbastanza per cercare di rintracciare dove WordPress è la creazione di questo SQL.

È stato utile?

Soluzione

Questi tipi di SELEZIONA vengono sempre eseguita da mysqldumps.

Se si guarda nel lento registro per l'ora di inizio della query e il tempo di ognuno di questi SELECT è lo stesso tempo ogni giorno, è sicuramente venuta da un mysqldump avete qualche crontab'd.

Per eliminare questo, potrebbe essere necessario eseguire questo

SET GLOBAL slow_query_log = 'OFF';

Poi vai eseguire i mysqldumps, e quindi eseguire

SET GLOBAL slow_query_log = 'ON';

Questo dovrebbe eliminare totalmente questo tipo di SELECT da sbarco inutilmente nel registro lento.

Altri suggerimenti

Questa sintassi:

SELECT /*!N SQL_NO_CACHE */ * from wp_posts

viene utilizzato da mysqldump. Stai usando che tramite cron?

/* !50123 ... */
mezzi per includere il "..." solo se si esegue la versione 5.1.23 o successiva. Questo permette mysqldump (e altri strumenti generali) per utilizzare lo stesso codice, ma farli funzionare su vecchi sistemi che non hanno avuto la funzione menzionati.

Ecco un uso io per il monitoraggio:

SHOW /*!50000 GLOBAL */ STATUS

Sarà eseguito come SHOW STATUS su vecchi server o SHOW GLOBAL STATUS su 5.0.0 e più recenti server.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top