Inserção Paralela

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
xico.ponte
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Qua, 10 Jun 2009 5:38 pm
Localização: São carlos - SP

E ai Pessoal

Tenho uma dúvida...na empresa em que eu trabalho foi desenvolvido um sistema que insere em uma tabela no banco com várias threads. Contudo, a tabela possui uma unique constraint e uma sequence para gerar o código. Há ganho de desempenho nessa situação? Por ter a unique constraint, o banco faz lock na tabela e acaba sendo a mesma coisa ou realmentne há ganhos? Quando as threads são ativadas, muito processamento de concorrência é verificado.

Obrigado
Avatar do usuário
fsitja
Rank: OraSauro
Rank: OraSauro
Mensagens: 611
Registrado em: Seg, 19 Jan 2009 4:29 pm
Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

O uso de sequence é a forma correta de fazer isso.

Há porém vários fatores a considerar em inserção em paralelo. O principal é se a tabela está particionada corretamente e realizar tudo com APPEND com a tabela marcada para nologging se possível, mas é preciso coordenar bem com o DBA o esquema de backup para após a carga finalizar ou seu archivelog pode ficar sem essa carga.

De repente se você puder postar mais informações sobre sua tabela e a forma como ela está estruturada, além de algum código de exemplo.

No AskTom tem um bocado de informações a respeito, aqui há algo:
http://asktom.oracle.com/pls/apex/f?p=1 ... 6845137685
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 19 visitantes