Ir para conteúdo

POWERED BY:

Arquivado

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

diasgabrie

lentidão terrivel

Recommended Posts

Olá

 

preciso da ajuda dos amigos.

 

meu site é rapido, mas as paginas dos novos usuarios demora muito carregar.

 

tenho a seguintes tabelas:

 

CREATE TABLE `cadastro` (

`id` INT NOT NULL AUTO_INCREMENT ,

`user` VARCHAR( 50 ) NOT NULL ,

`senha` VARCHAR( 20 ) NOT NULL ,

`nome` VARCHAR( 40 ) NOT NULL ,

`cidade` VARCHAR( 30 ) ,

`estado` VARCHAR( 2 ) ,

`email` VARCHAR( 80 ) ,

PRIMARY KEY ( `id` )

 

);

 

CREATE TABLE `posts` (

`id` INT NOT NULL AUTO_INCREMENT ,

`user` VARCHAR( 40 ) NOT NULL ,

`foto` VARCHAR( 400 ) NOT NULL ,

`comentario` VARCHAR( 4000 ),

`data` VARCHAR( 14 ),

`hora` VARCHAR( 14 ),

PRIMARY KEY ( `id` )

 

);

 

 

bem, quero mostrar os novos usuarios do site. mas esses novos usuarios tem q ter postado alguma foto.

meu select:

 

 

select c.user, MAX(c.id) FROM cadastro c inner join posts p on c.user=p.user group by c.user order by MAX(c.id) desc

 

 

funciona, mas demora muito pra exibir os registros. qual seria o problema? tem como otimizar isso? será que por possuir milhares de posts e usuarios a consulta tem esse atraso?

 

 

obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz sim...

 

coloque um index em cadastro.user e outro em posts.user, deve ajudar um pouco.

 

Outra coisa que ajuda (mas nao absurdamente) eh trocar todos os varchar por char... vai consumir mais espaço no HD soh que vai rodar um pouco mais rapido, devido ao fato q ele jah sabe onde começa e termina cada valor do campo

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.