João Paulo, Vamos para a Importação e Exportação, nos dois casos, tanto dentro do mesmo BD quanto migrando ela tem problemas. A menos que você crie uma rotina que nosso colega sugeriu, por exemplo: Eu tenho um código interno de um produto de valor 350, quando eu vou incluir ele com auto-incremento, como posso chegar a esse número? Eu poderia criar uma rotina pra ir gerando até o número 350. Mas eu to falando de só 350, imagine se o código for 123456, imagina o tempo que levaria para chegar a esse número. Em um outro caso, se por acaso no banco de dados primeiro importar o 355 que veio numa remessa anterior e depois chegasse o 350? Acabaria sem importar. E a pior das hipóteses seria se o código utilizado pelo cliente contiver letras, o que não é raro. A solução mais lógica, seria criar 2 códigos, um interno, que até pode ser auto-incremento, pq só existirá no banco de dados atual, e o outro o externo, que poderia ser alterado a vontade pelo usuário, além de poder conter letras. Quando você exportar, ele será o código que sairá no arquivo, e o interno não, será encapsulado no próprio banco. Quanto à performance, claro, tudo é relativo. Mas já trabalhei em sistemas que tinha um alto nível de inclusão e eles tinham um sério problema de performance, porque sempre que você grava no banco, ele tem que alterar uma variável e gravá-la também. Então, além de acabar gerando um tráfego a mais na rede, também tem o esquema da fila, porque se 1000 incluírem ao mesmo tempo, o auto-incremento irá travar até que seja liberado um por um. Então para solucionar o problema, e até não ter que ficar esperando o retorno do banco de dados com o ID, a solução seria implementar um ID que gere com o instante atual (em milisegundos) e ainda com um número aleatório grande, para você ter absoluta certeza de que não irá incluir o mesmo ID. E como já havia discutido na lista à um tempo atrás, o GUID ou algo baseado nele, percebi que é a solução mais viável. []’s Eduardo E. J. Menoncello -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de João Paulo Linhares Gonçalves Enviada em: quinta-feira, 12 de maio de 2005 09:43 Para: delphi-br@yahoogrupos.com.br Assunto: Re: RES: [delphi-br] Auto-Incremento Olá,
Que tipo de problemas de importação e exportaçãovc está falando ? Isso é dentro do mesmo banco de dados ou migrando de um banco para outro ? E os problemas de performance ? pq o gargalo na gravação dos dados ? Que tipo de auto-incremento gera tal gargalo ? Em 12/05/05, Eduardo E. J. Menoncello<[EMAIL PROTECTED]> escreveu: > Paulo, > > Sinceramente, eu ainda não consegui achar as vantagens, então vou dizer > as desvantagens... > No auto-incremento, você tem problemas com importação e exportação, você > terá que criar um algoritmo pra achar a tabela relacionada, pode ocorrer > problemas de performance, porque se cria um gargalo na gravação dos > dados. > > Sugestão: > Como eu mesmo pedi informações por aqui, crie um campo inteiro, ou > string, e decomponha-o, de forma que você consiga guardar nele o > momento atual e um número relativamente grande aleatório. Por que? Para > que você não precise acessar o banco para criar a chave, ele no momento > que gravar já terá uma chave única. E com isso, reduzirá e muito o > gargalo do sistema. > > Abraços > > Eduardo E. J. Menoncello > > -----Mensagem original----- > De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] > Em nome de Info Desenvolvimento > Enviada em: quinta-feira, 12 de maio de 2005 09:27 > Para: delphi-br@yahoogrupos.com.br > Assunto: [delphi-br] Auto-Incremento > > Alguém pode me responder quais as vantagens e as desvantagens em se > trabalhar com Auto-Incremento? > > PAULO FERNANDES > > [As partes desta mensagem que não continham texto foram removidas] > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > Yahoo! Grupos, um serviço oferecido por: > > <http://br.rd.yahoo.com/SIG=12af2u49k/M=264379.5078783.6203979.1588051/D > =brclubs/S=2137111264:HM/EXP=1115908131/A=2191897/R=0/SIG=10vqa2grn/*htt > p:/br.diversao.yahoo.com/> > > <http://br.rd.yahoo.com/SIG=12af2u49k/M=264379.5078783.6203979.1588051/D > =brclubs/S=2137111264:HM/EXP=1115908131/A=2191897/R=1/SIG=10vqa2grn/*htt > p:/br.diversao.yahoo.com/> > São Paulo Rio de Janeiro Curitiba Porto Alegre Belo > Horizonte Brasília > > _____ > > Links do Yahoo! Grupos > * Para visitar o site do seu grupo na web, acesse: > http://br.groups.yahoo.com/group/delphi-br/ > > * Para sair deste grupo, envie um e-mail para: > [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do > <http://br.yahoo.com/info/utos.html> Serviço do Yahoo!. > > [As partes desta mensagem que não continham texto foram removidas] > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > Links do Yahoo! Grupos > > > > > -- João Paulo L.G. [EMAIL PROTECTED] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] _____ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do <http://br.yahoo.com/info/utos.html> Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html