Olá a todos...

Atualmente estou com um problema em meu site devido a muitas inserções
no banco de dados na hora que um usuário se cadastro.
Vou tentar explicar um pouco meu caso..

Eu tenho um site sobre filmes, que também é uma reede social. Temos
atualmente cerca de 1000 usuários e 11000 filmes.

A modelagem, devido a alguns cálculos que são feitos, acabou definindo
que cada usuário tenha uma entrada em uma tabela relacionando cada um
dos outros usuários, além de uma entrada em outra tabela que relaciona
cada usuário com cada filme.

Ou seja, quando um usuário é criado, eu tenho que inserir 1000
entradas na tabela q liga usuarios com usuarios, e 11000 entradas na
tabela que relaciona filmes com usuarios.
Isso é feito através de uma função em plpgsql disparada por uma
trigger no insert da tabela de usuarios.
O problema pro usuário é ter que esperar esses 12000 inserts
acontecerem (atualmante esta demorando 2min, mas a tendencia é
continuar crescendo tanto em usuarios como em filmes) durante o
cadastro.

Já não sei mais o que fazer para melhorar isso, pois tem muitos
usuários que não esperam os inserts e fecham a página no meio,
causando diversos erros na hora de tentar logar no site...


Minhas dúvidas são:
 - essa prática de inserir todas essas entradas na hora do cadastro é
errado ou não tem problema?
 - a demora é porque o servidor está muito lento (ou seja, esses 12000
inserts deveriam ser mais rapidos)??
 - você chegou aqui entendendo o que eu quis dizer? hahaha não sei se
fui muito claro no problema, mas uma coisa interessante de citar é que
essas entradas entre todos os clientes e entre os clientes e todos os
filmes é importante pois o site calcula notas sugeridas para cada
usuário, dependendo dos votos deles e da semelhança dos votos com
outros usuários.


Bom, se precisarem de mais detalhes sobre o caso eu posso comentar
mais aqui (não sei se tem problema em passar o site, então achei
melhor nem colocar o link). Mas espero que possam me ajudar de
qualquer forma, qualquer toque será bem vindo!

Valeu,
    Wagner Mariotto Bonfiglio
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a