Quem desenvolve aplicações utilizando o mySQL em algum momento precisará realizar rotinas de manutenção das tabelas.
O mySQL por ser um banco de dados simples é necessário periódicamente executar algumas rotinas manualmente.
Com esta função é possível executar alguns comandos de manutenção em suas tabelas diretamente de sua aplicação web.
Os comandos disponíveis para esta função são:
– ANALYZE
Analisa e armazena a distribuição de chaves para a tabela. Durante a análise a tabela é bloqueada com uma trava de leitura. Isto funciona em tabelas MyISAM e BDB.
Utilização: Response.Write ManutencaoTabelas(“ANALYZE”)
– CHECK
Verifica se existem erros nas tabelas e funciona somente em tabelas do tipo MyISAM.
Utilização: Response.Write ManutencaoTabelas(“CHECK”)
– OPTIMIZE
Deve ser usado se você apagou uma grande parte de uma tabela ou se você fez várias alterações à uma tabela com registros de tamanho variável (tabelas que tenham campos do tipo VARCHAR, BLOB ou TEXT).
Registros apagados são mantidos em uma lista de ligações e operações INSERT subsequentes reutilizam posições de registros antigos.
Na maioria da configurações você não precisa executar OPTIMIZE TABLE. Mesmo se você fizer diversas atualizações para registros de tamanhos variáveis não é desejável que você precise fazer isto mais que uma vez por mês/semana.
Utilização: Response.Write ManutencaoTabelas(“OPTIMIZE”)
– REPAIR
Repara uma tabela possivelmente corrompida e funciona somente em tabelas do tipo MyISAM.
Normalmente você nunca deve executar este comando, mas se um disastre ocorrer você vai precisar recuperar os dados de suas tabelas.
Utilização: Response.Write ManutencaoTabelas(“REPAIR”)
IMPORTANTE: Para que o código funcione corretamente, será necessário configurar a strings de conexão com o seu banco de dados mySQL através da variávei strConexao.
" strRetorno = strRetorno & "" strRetorno = strRetorno & " " If Not objRS.EOF Then Do While Not objRS.EOF strSQL = Cmd & " TABLE " & objRS.Fields(0).Value & "" Set objRS2 = objConexao.Execute(strSQL) If Not objRS2.EOF Then strRetorno = strRetorno & "Tabela " strRetorno = strRetorno & "Operação " strRetorno = strRetorno & "Tipo " strRetorno = strRetorno & "Mensagem " strRetorno = strRetorno & "" strRetorno = strRetorno & " " End If objRS2.Close objRS.MoveNext Loop Else strRetorno = strRetorno & "" & objRS2("TABLE") & " " strRetorno = strRetorno & "" & objRS2("OP") & " " strRetorno = strRetorno & "" & objRS2("MSG_TYPE") & " " strRetorno = strRetorno & "" & objRS2("MSG_TEXT") & " " strRetorno = strRetorno & "" End If strRetorno = strRetorno & "" objRS.Close 'Retornando a função ManutencaoTabelas = strRetorno 'Destruição Set objRS2 = Nothing Set objRS = Nothing Set objConexao = Nothing End Function %> Não foram encontrads tabelas