Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wilson

Sistema de Notícias

Recommended Posts

Olá Pessoal...Criei um sistema de notícias em PHP/MySql, apresentendo apenas 60 mensagens cada página, sendo só o título, e data, só que à medida que cresceu, 600 registros no banco... ficou extremamente lento o site, a página inicial demora uma cara...Alguém já passou por isso....?Wilson

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem esse é um broblema do Mysql quando ha uma grande quantidade de registro ele fica mais lento...porem acho que 600 ainda é um numero aceitavel....deveria ter a mesma performace...Mas usa Postgres eu o uso por ISSO EM APLICAÇOES ONDE O BD È EXIGIDO AO EXTREMO ele é melhor em velocidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

estranho seu problema wilson, 600 registros ainda é MUITO pouco para começar a ficar lento.você já deu uma olhada nas select´s e índices de sua tabela, pode ser que você esteja pesquisando em um campo e seja melhor definir este como chave ou então pesquisar por outro campo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Firemaster...Não quis dizer que o BD MySQL, ou o provedor sejam ruins... mas sim, tentar uma ajuda pr´um problema que tá me deixando maluco... porém, com os amigos do imasters, estou chegando a uma conclusão. Veja meu código:<?if (!isset($pg) AND ($pesquisar == 'sim')) // variavel $pg é a pagina atual $pg = 0; $inicial = $pg * 60; $pegar = "SELECT date_format(dt_msg,'%d/%m/%Y') as dt_msg, codigo, tit_msg, num_msg, txt_msg, quem FROM mensagem WHERE tit_msg LIKE '%$pesq%' ORDER BY codigo LIMIT $inicial,60"; $cad = mysql_db_query("mensagens","$pegar") or die (mysql_error()); $contar = "SELECT date_format(dt_msg,'%d/%m/%Y') as dt_msg, codigo, tit_msg, num_msg, txt_msg, quem FROM mensagem ORDER BY codigo"; $contarok= mysql_db_query("mensagens","$contar"); $total_records = mysql_num_rows($contarok); $pages = intval($total_records / 60);?><input type="text" name="pesq" size="25"> <input type="submit" name="pesq2" value="Pesquisar"> <input type="hidden" name="pesquisar" value="sim"><?if(mysql_num_rows($cad) > 0) { while($array = mysql_fetch_array($cad)) {?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Firemaster...

 

Não quis dizer que o BD MySQL, ou o provedor sejam ruins... mas sim, tentar uma ajuda pr´um problema que tá me deixando maluco... porém, com os amigos do imasters, estou chegando a uma conclusão. Veja meu código:

 

<?

if (!isset($pg) AND ($pesquisar == 'sim')) // variavel $pg é a pagina atual

$pg = 0;

$inicial = $pg * 60;

$pegar = "SELECT date_format(dt_msg,'%d/%m/%Y') as dt_msg, codigo, tit_msg, num_msg, txt_msg, quem FROM mensagem

WHERE tit_msg LIKE '%$pesq%' ORDER BY codigo LIMIT $inicial,60";

$cad = mysql_db_query("mensagens","$pegar") or die (mysql_error());

 

$contar = "SELECT date_format(dt_msg,'%d/%m/%Y') as

dt_msg, codigo, tit_msg, num_msg, txt_msg, quem FROM mensagem ORDER BY codigo";

 

$contarok= mysql_db_query("mensagens","$contar");

$total_records = mysql_num_rows($contarok);

$pages = intval($total_records / 60);

?>

 

//aqui faz a pesquisa

<input type="text" name="pesq" size="25">

<input type="submit" name="pesq2" value="Pesquisar">

<input type="hidden" name="pesquisar" value="sim">

 

 

<?

if(mysql_num_rows($cad) > 0)

{

while($array = mysql_fetch_array($cad))

{

?>

 

//depois, pra visualizar:

 

<?echo $array['tit_msg'];?>

 

 

Acho que eu tenho que separar a parte da pesquisa, né? Ou será que o prob. está em outro lugar?

 

Wilson

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.