Jump to content


Photo

Otimização Em Mysql


  • Faça o login para participar
3 replies to this topic

#1 YusukeSSJ5

YusukeSSJ5

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Não informado
  • Localidade:Rio de Janeiro - RJ

Posted 05/07/2006, 00:21

Estou tentando otimizar as tabelas do meu banco de dados (através de CGI), mas quando executo o comando, retorna um erro como se o comando não fosse nem existente (meu MySQL é de versão 4.1.19 e deveria ter suporte a esta função).

O código é:
$dbh->do("OPTIMIZE TABLE comments, downloads_ip , email_file, inbox, log_activity, log_ban, log_error, log_history, log_ip, log_online, log_referer, maps, members, news, polls, poll_choices, poll_votes, ratings, replays, sentbox, settings, shoutbox, vip_settings");

Mas mesmo tentando otimizar somente uma tabela, o erro ocorre:
$dbh->do("OPTIMIZE TABLE comments");

O erro ocorrido é:
DBD::mysql::db do failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''comments' , 'downloads_ip' , 'email_file' , 'inbox' , 'log_activity' , 'log_ban' at line 1 at /home/urameshi/public_html/cgi-bin/cron.cgi line 65.

Vlw...
United Mappers . Net é hospedado por
Peique Networks - Hospedagem de Alta Qualidade

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 05/07/2006, 07:42

Tá usando PHP certo?
Onde você está usando mysql_query() adicione or die(mysql_error()) que o erro vai ficar mais claro. Por exemplo:
<?
  mysql_query("OPTIMIZE TABLE comments") or die(mysql_error());
?>

Flws...
^_^Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 05/07/2006, 09:18

Vou destacar umas palavras do manual.

No momento OPTIMIZE TABLE só funciona em tabelas MyISAM e BDB.


Antes do MySQL 4.1.1, o OPTIMIZE não gravava no log binário. Desde o MySQL 4.1.1 eles são escritos no log binário a menos que a palavra chave opcional NO_WRITE_TO_BINLOG (ou se alias LOCAL) seja usada.


Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#4 YusukeSSJ5

YusukeSSJ5

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Não informado
  • Localidade:Rio de Janeiro - RJ

Posted 05/07/2006, 13:13

Tá usando PHP certo?

Como eu havia mencionado na primeira linha, meu script é em CGI.


Vou destacar umas palavras do manual.

No momento OPTIMIZE TABLE só funciona em tabelas MyISAM e BDB.


Antes do MySQL 4.1.1, o OPTIMIZE não gravava no log binário. Desde o MySQL 4.1.1 eles são escritos no log binário a menos que a palavra chave opcional NO_WRITE_TO_BINLOG (ou se alias LOCAL) seja usada.

Sim sim sim.
Desculpe-me, esqueci de mencionar que já havia procurado por todo o manual. Mas a documentação sobre esse comando é muito pequena, quase não há referência, e não havia nenhuma informação lá que me ajudasse, já que eu estava fazendo tudo de acordo.

Minhas tabelas são todas MyISAM e eu já havia tentado usar o comando NO_WRITE_TO_BINLOG, mas o erro persiste igualzinho. :(

Obrigado pela ajuda. (y)

Edição feita por: YusukeSSJ5, 06/07/2006, 21:07.

United Mappers . Net é hospedado por
Peique Networks - Hospedagem de Alta Qualidade




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq