come indica il titolo, nel mio database varie query vengono visualizzate nel registro delle query lente, ma quando le eseguo manualmente vengono eseguite 10 volte più velocemente.Le query lente di MYSQL nel "log delle query lente", ma le stesse query vengono eseguite molto rapidamente manualmente
ad esempio relativamente semplice query di selezione con diversi ordini da params spesso richiede fino a 100 secondi di registro (sì tabella è molto grande) ... ma quando l'eseguo io sullo stesso DB ci vogliono 2 secondi o giù di lì .
Ho esaminato le prestazioni del server e non sembra esserci un rallentamento o un collo di bottiglia particolari al momento, né ci sono molte query che richiedono molto tempo in quel periodo ma solo quella.
come posso iniziare ad analizzare un tale problema?
grazie per l'aiuto
mi piacerebbe iniziare con la pubblicazione di uno di tali interrogazioni qui per l'assistenza nella analizzandolo insieme ad un "spiegano SELECT ..." per mostrare ciò che il motore di vuole fare per il suo percorso di esecuzione di query. – DRapp
Di solito se una query impiega 1 o più secondi, viene catturata dal log delle query lente. 2 secondi è sicuramente più alto di 1 secondo. –
Wild guess: la query è veloce quando la esegui manualmente perché i risultati sono stati memorizzati nella cache durante la prima esecuzione della query. Per controllarlo, cancella tutte le cache e poi prova di nuovo la stessa query: dovrebbero impiegare 100 secondi. – nikhil500