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

Ajuda em modelagem


osvald.jr

Pergunta

Caros,

Estamos trabalhando em um sistema de envio de mensagens, a cobrança será feita por mensagem enviada e prevemos um volume de 5k mensagens/dia.

Gostaria da opinião de vocês sobre o que é melhor com relação ao desempenho:

1. Ter uma tabela de mensagens e quando o usuário solicitar o saldo atual, efetuar uma contagem nesta tabela

ou

2. A cada inserção nesta tabela, efetuar um update em uma outra tabela incrementando a quantidade enviada?

[]`s

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom dia Osvald,

Prefiro a 1ª opção. Motivo:

- 1ª opção:

- a instrução "select count(chave) from tabela" é muito rápida (milisegundos). Mesmo com tabelas com grande volume de dados (trabalho com tabelas com mais de 6 milhões de registros).

- A periodicidade da requisição do Saldo Atual não será cotidiana. Mesmo que fosse, não impactará a performance.

- Não necessitará de nenhum controle para identificar a quantidade de mensagens.

- 2ª opção:

- terá que criar uma tabela apenas para armazenar o valor total.

- terá que realizar uma implementação para ficar incrementando o contador. As manipulações entre as duas tabelas terão que ser realizadas dentro de uma única transação.

- Custo/benefício de implementação não viável. Terá que se preocupar com implementação onde o Sql já possui a funcionalidade (mesma coisa de criar uma função de contagem de caracter, ao invés de utilizar a função do Sql).

Volume de Dados. Dica:

A tabela onde conterá as mensagens terá 5k mensagens/dia. Faça um teste no sistema:

- Inserção de quantidade significativa de dados na tabela.

- Potencial de processamento por parte do servidor.

Principais: Quantidade total de dados necessários na tabela de mensagens.

- Data para expurgo dos dados. Será necessário realmente TODAS as informações na tabela principal? Já pense no expurgo dos dados. Mesmo com os dados expurgados (quer dizer, em outra tabela), pode-se ter acesso aos mesmos.

Espero ter ajudado. :.)

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,2k
    • Posts
      652k
×
×
  • Criar Novo...