Original post: http://anothermysqldba.blogspot.com/2014/04/mysql-explain-sqlnocache.html
Então, hoje eu estava ajudando alguém com o seu desempenho de banco de dados e correu algumas consultas mal escritos. Agora, certamente, todo mundo comete erros, o objetivo é fazer tudo o que puder para evitá-los.
Assim, apenas um par de dicas úteis para fazer antes de deixar uma consulta solto em seu ambiente.
Sempre executar a consulta via explicar primeiro. Algo tão simples como fazer explicar primeiro confirmará sem erros (já que ele não será executado), e permitir que você otimizar a consulta.
Várias ligações já existem sobre como usar explicar:
A próxima dica, tentar testar suas consultas com SQL_NO_CACHE. Isso permite que você teste a consulta real e otimizá-lo da melhor maneira que puder. Uma vez que ela se torna em cache (se ele vai ser), então ele só vai correr muito mais rápido para você.
Então, hoje eu estava ajudando alguém com o seu desempenho de banco de dados e correu algumas consultas mal escritos. Agora, certamente, todo mundo comete erros, o objetivo é fazer tudo o que puder para evitá-los.
Assim, apenas um par de dicas úteis para fazer antes de deixar uma consulta solto em seu ambiente.
Sempre executar a consulta via explicar primeiro. Algo tão simples como fazer explicar primeiro confirmará sem erros (já que ele não será executado), e permitir que você otimizar a consulta.
Várias ligações já existem sobre como usar explicar:
- http://ronaldbradford.com/blog/tag/explain/
- http://www.mysqlperformanceblog.com/2014/02/03/percona-toolkit-collection-pt-visual-explain/
- http://www.ustream.tv/recorded/15872720
- https://www.youtube.com/watch?v=qaB85pMVNJU
- https://dev.mysql.com/doc/refman/5.6/en/using-explain.html
- http://www.sitepoint.com/using-explain-to-write-better-mysql-queries/
A próxima dica, tentar testar suas consultas com SQL_NO_CACHE. Isso permite que você teste a consulta real e otimizá-lo da melhor maneira que puder. Uma vez que ela se torna em cache (se ele vai ser), então ele só vai correr muito mais rápido para você.
- https://dev.mysql.com/doc/refman/5.6/en/select.html
- http://ronaldbradford.com/blog/using-the-mysql-query-cache-effectively-2009-09-28/