Ir para conteúdo
Fórum Script Brasil
  • 0

Melhor forma de listar tabela?


Bráulio Lorenzo

Pergunta

Boa noite, senhores.

Estou com um problema em minha aplicação. Tenho um site que possui média de 14 mil visitantes únicos, e uma base de dados de 5Gb.

Nessa aplicação, a consulta mais acessada ao site, puxa dados de pelo menos umas 10 tabelas diferentes, sendo uma principal, e que às vezes pode retornar uma listagem de mais de 10 mil registros, mas sempre em um datalist paginado com no máximo 70 registros por página.

Enfim, gostaria de saber qual o melhor método para popular esse datalist.

Duas opções eu estou testando. Primeiro puxar todos os dados do sql, e usar um session no asp.net para guardar os dados, e consequentemente fazer a paginação. E o segundo método q estou testando atualmente, é fazer uma consulta ao BD em todas as páginas. Com isso retorna menos registros, mas faz mais consultas ao BD.

Enfim, às vezes o site ficava lento usando o primeiro método, e por isso estou usando o segundo, mas não sei se é o ideal. Gostaria de saber qual o mais rápido e que tenha o menor consumo de processamento e memória.

Obrigado,

Bráulio Lorenzo

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom dia Bráulio! Espero que esteja tudo bem contigo.

Se o usuário não usará os 10 mil registros de uma só vez, então não há necessidade de processar os 10 mil e enviá-los a uma sessão na máquina. Acredito que fica realmente inviável. No meu ponto de Vista, a forma que está agora é a ideal(entre as duas propostas).

Agora, uma ideia: porque não enviar o número da sessão do usuário (no site) ao banco, gravar os 10 mil registros em uma tabela juntamente com o numero da sessão.

Sempre, antes de inserir os registros, você verifica se já existe registros gravados com o mesmo número de sessão (que o site enviou), se já existir, você deleta todos desta sessão, e os recria novamente. Essa tabela nova, com as informações oriundas das 10 tabelas que estão envolvidas no select anterior, não teria joins, apenas as informações necessárias. Voce criaria indices e iria ganhar tempo, pois não teria que consultar com joins todas as vezes.. .naquela sessão, você sempre buscaria na mesma tabela. Uma implementação neste modelo, seria você criar o campo página nesta nova tabela... uma rotina setaria este campo para a página correspondente conforme atingisse a qtd de 70 registros(ou customizável).

não sei se ficou clara minha ideia, mas acredito que assim seria melhor. Qualquer coisa pode perguntar que eu explico novamente.

Abração manow. boa sorte

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...