Pergunta

Agora eu sei que Bigint é 2^64; Ou seja, mais átomos do que no universo conhecido. Eu não deveria me preocupar, pois meu mero cérebro humano simplesmente não consegue contornar a enormidade desse número.

No entanto, digamos que eu gravo todas as alterações em todas as categorias, produtos e pedidos no meu sistema, desde o lançamento até o final dos tempos. Devo me preocupar com o desempenho das gravações da tabela antes de me preocupar em ficar sem valores principais? Devo registrar eventos de diferentes prioridades para diferentes tabelas de eventos? Ficarei sem átomos em um disco rígido antes de ficar sem Bigints? Quão grande devo deixar uma tabela de log de eventos chegar antes de começar a arquivar / limpá -la?

Foi útil?

Solução

Mesmo que todas as suas entradas tivessem apenas 1 byte, 2^64 entradas ocupariam por volta de 18000000 TB no seu disco rígido, então acho que você não deve se preocupar com isso.

Outras dicas

Se o seu aplicativo adicionasse um recorde à tabela uma vez a cada milionésimo de segundo, ele funcionaria por mais de quinhentos mil anos antes de ficar sem chaves.

"Quão grande devo deixar uma tabela de log de eventos chegar antes de começar a arquivar / limpá -la?"

Nunca limpe os logs do evento - as informações têm valor significativo.

No entanto, quando algum gerente insiste que é necessário um arquivo, você pode mostrar o custo do armazenamento versus o custo do seu tempo para (a) pensar sobre isso, (b) obter segunda e terceira opiniões e (c) escrever um Procedimento para arquivar registros de log.

O custo do armazenamento está despencando. Seu tempo é melhor gasto em qualquer coisa que não seja eliminada registros de log.

Conclusão: você tem permissão para parar de torcer as mãos. É tudo de bom. Você não está cometendo um erro fundamental.

É altamente improvável que você não fique sem valores -chave primários. No entanto, pode ser necessário considerar como você deseja acessar a tabela de log para recuperar dados. Use isso para informar quando você deve arquivar ou limpar os dados. Se os dados do log forem lidos frequentemente, pense em adicionar índices para melhorar o desempenho da leitura, mas lembre -se de que os índices precisam ser mantidos para cada registro adicionado.

A maneira como lidamos com isso é fornecendo uma funcionalidade de arquivamento de log, que separa a tabela de log em bancos de dados separados por ano, permitindo redefinir a semente de identidade em nossa tabela de logEvent.

Também temos tabelas de log diferentes, embora apenas duas principais.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top