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.
<% '----------------------------------------------------- 'Funcao: ManutencaoTabelas(ByVal Cmd) 'Sinopse: Realiza manutenção das tabelas de um banco mySQL 'Parametro(s): ' Cmd: Comando a ser executado. Os comandos podem ser: ' 'ANALYZE' ' 'CHECK' ' 'OPTIMIZE' ' 'REPAIR' 'Retorno: String 'Autor: Gabriel Fróes 'Site: www.codigofonte.com.br '----------------------------------------------------- Function ManutencaoTabelas(ByVal Cmd) 'Declarações Dim strRetorno Dim strSQL Dim objRS Dim objRS2 Dim objConexao Dim strConexao 'Inicialização Set objConexao = Server.CreateObject("ADODB.Connection") Set objRS = Server.CreateObject("ADODB.RecordSet") Set objRS2 = Server.CreateObject("ADODB.RecordSet") strRetorno = "" strConexao = "SUA CONEXAO COM O BANCO MYSQL" 'Lista das tabelas objConexao.Open strConexao Set objRS = objConexao.Execute("SHOW TABLES") strRetorno = "
Tabela | " strRetorno = strRetorno & "Operação | " strRetorno = strRetorno & "Tipo | " strRetorno = strRetorno & "Mensagem | " strRetorno = strRetorno & "
---|---|---|---|
" & objRS2("TABLE") & " | " strRetorno = strRetorno & "" & objRS2("OP") & " | " strRetorno = strRetorno & "" & objRS2("MSG_TYPE") & " | " strRetorno = strRetorno & "" & objRS2("MSG_TEXT") & " | " strRetorno = strRetorno & "
Não foram encontrads tabelas |