MySQL Performance Tuning Parte III – Tabelas Temporárias

Está nas bancas a terceira parte da série que escrevi para a Revista SQL Magazine sobre Performance Diagnostics & Tuning no MySQL.

Nesta terceira parte, abordo uma ferramenta gráfica para auxiliar na análise de desempenho, e customizá-la para analisar o sistema de tabelas temporárias implícitas do MySQL.

Nada evidencia mais um problema do que um gráfico, baseado em números reais. Muitos DBAs que conheço, especialmente os com maior experiência, são aversos ao uso de ferramentas gráficas, pois acham que estas existem para serem utilizadas pelos administradores menos experientes. Eu acho que, além de dominar as ferramentas de linha de comando – nem sempre temos as opções gráficas, ou mesmo uma conexão rápida o suficiente a nossa disposição – os DBAs mais experientes devem também dominar as ferramentas gráficas, pois além de fornecerem uma informação com uma melhor apresentação, podem aumentar a produtividade do administrador. Além disso, um gráfico é uma ferramenta melhor que simples números para convencer um cliente sobre a causa de um problema.

As tabelas temporárias implícitas do MySQL são controladas por dois parâmetros: tmp_table_size e max_heap_table_size. Se uma tabela temporária implícita – elas são necessárias em operações com SORT BY, ORDER BY, GROUP BY, criação de índices, etc – exceder o valor de um destes parâmetros, a tabela será criada em disco, e não na memória. Este é um ponto delicado da configuração do MySQL, e para isto precisamos do gráfico que criamos: não queremos que tabelas temporárias sejam criadas em disco, mas também não queremos deixar um limite muito grande para que elas sejam criadas em memória, e correr o risco de ter uma indisponibilidade no banco de dados por falta de recursos.

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.