adrianno 7 Denunciar post Postado Fevereiro 23, 2012 Olá galera do imasters Desenvolvi a um tempo um sistema de vendas , porem, teve uma boa aceitação e é usado por clientes que realizam muitas vendas diarias minha duvida é seguinte, EXE: cada venda realizada gera um ID (VENDA_ID) e ainda, cada venda ou pedido gera na tabela de produtos vendidos, 1 ID para cada produto do pedido tipo, se a VENDA_ID 10530 foi feito a venda de 10 produtos nela, gera + 10 itens na tabela de itens relacionados a esta venda suponha que seja feita 50 vendas no dia ou muito mais com 10 produtos cada já sao 500 registros gerados neste tempo, suponha isso em 365 dias, ou mais onde quero chegar... o campo ID destas tabelas esta em modo INT(11) suporta 11 caracteres, e em uma taxa de valores maxima estipuladas, estou usando MYSQL 5, chegará um momento que nao terá mais espaço neste campo posso alterar o INT para BIGINT ??? suportaria mais que muito o dobro do que suporta o INT mais seria correto?? causaria algum erro? a aplicação é em Delphi, se eu alterar no banco de dados este campo, de INT para BIGINT daria algum erro, teria que alterar no codigo fonte ? visto que os 2 são mesmo numericos eu acredito que não, mais queria uma opinião segundo um análise cheguei ao resultado que 365 dias X 10 ( 10 anos = 3.650 dias ) realizando 200 vendas por dia daria um total de 712.000 vendas e se cada venda desta, tiver 50 itens cada: 712.000 X 50 = 35.600.000 registros na tabela de itens vendidos acredito eu que pelo nivel de aplicação e usuarios, seria suciciente o INT(11) ao meu ver, mesmo porque 10 anos depois, se fosse realmente utilizado estes numeros, acredito que nao será, até neste momento teria uma outra aplicação já atualizada para oferecer Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Fevereiro 23, 2012 O campo INT no MySQL suporta até o número 2.147.483.647, se você alterar a definição deste campo INT(11) para INT(11) UNSIGNED, sua aplicação Delphi não deve apresentar problemas e você vai dobrar a capacidade do campo, ou seja, vai "aguentar" até o número 4.294.967.295. Se você alterar de INT para BIGINT pode ser que seja necessário alterar o binário do programa, mas isto tem que ser testado. O campo BIGINT UNSIGNED "aguenta" até o número 18.446.744.073.709.551.615. Compartilhar este post Link para o post Compartilhar em outros sites