Nao tem chave natural nessa tabela? Em 31/05/2012 20:09, "Marco Aurélio V. da Silva" <[email protected]> escreveu:
> Caros, > > Não lembro se esse assunto já foi discutido na lista, mas vamos lá. Estou > desenvolvendo um sistema que terá vários cadastros com numeração sequencial > gerada pelo sistema, mas preciso evitar ao máximo ter furos na sequência. O > sistema é multiusuario, e há a possibilidade de vários usuários fazendo > cadastro ao mesmo tempo. > A lógica que desenvolvi é o seguinte, uma função (vb.net+npgsql) que pega > uma determinada tabela e busca qual o maior codigo dela ai a função soma > mais 1 e adiciona o novo registro, logo a função é composta por dois > comandos um select para pegar o ultimo codigo, e um insert para inserir a > nova numeração. > Fazendo um stress teste na função com 3 usuários, só apos 115 tentativas > dando enter ao mesmo tempo na tela conseguimos duplicar um número, mas > fazendo um programa que faz um for de 1 a 200 da função rodando em tres > maquinas ao mesmo tempo deu mais ou menos uns 30% de duplicidade. > Adicionando um sleep de 0,1 segundo antes de cada select a duplicidade caiu > para 15% mas ainda ocorreu. > Existe alguma possibilidade de melhorar isto sem usar sequence ? A > sequence me gera o seguinte problema, o usuario entra na tela de cadastro e > desiste, ai excluo este numero para reaproveitar se ninguem ja tiver > incluido um numero maior. > Posso fazer o controle de duplicidade tb, mas ai teria que ficar tratando > a mensagem de erro. > Tem alguma outra forma ? > > Desde já agradeço a atenção recebida. > > Marco Aurélio V. da Silva > [email protected] > [email protected] > msn: [email protected] > Prodata Inf. e Cadastros LTDA > (33) 3322-4444 > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
