Ir para conteúdo

POWERED BY:

Arquivado

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

Amilton Aquino

Select em duas tabelas

Recommended Posts

Olá pessoal,

 

Peguei uma dica aqui no fórum sobre uma forma de listar categorias com o número de registros a ela associados ao lado. Ex. NomedaCategoria(nº registros).

 

O problema é que estou achando que o código é muito oneroso ao servidor. Imaginem que a cada registro de categoria é feita uma nova consulta ao BD para contar o número de registros associados a referida categoria (no meu caso as categorias seriam notícias e os registros associados a cada notícia seriam os comentários sobre cada notícia). Será que alguém tem alguma idéia melhor?

 

Segue o código em questão:

$res = mysql_query("SELECT * FROM noticias") or die(mysql_error());while($array = mysql_fetch_array($res)) {  $res_cont = mysql_query("SELECT count(*) AS num_itens FROM noticias_comments WHERE RESOURCE_ID = '$array[ID]'");  $num_itens = mysql_result($res_cont, 0, 0);      echo $array['TITLE']."(".$num_itens.")<br>";}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o seu servidor Ñ aguentar um SELECT em 2 tabelas, troca de servidor!!!!Ë claro q se for um BD grande, pode levar mais tempo, mas deve aguentar sim, só se for mto fraco, msm!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas a questão não é o select em duas tabelas, e sim o fato de que esta consulta é repetida em cada registro exibido. Ou seja, este select verifica em outra tabela a existências de outros registros relacionados com esta linha. Será que deu para entender?Bom, esta foi a única maneira que encontrei para fazer isto. Será que não existe algo mais simples e menos oneroso ao servidor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deve aguentar, são queries simples

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.