Pergunta

Temos um requisito para excluir linhas na ordem de milhões de várias tabelas como um trabalho em lote (observe que não estamos excluindo todas as linhas, estamos excluindo com base em um registro de data e hora armazenados em uma coluna indexada). Obviamente, uma exclusão normal leva uma eternidade (por causa do registro, verificação de restrição referencial etc.). Sei que no mundo LUW, temos a tabela alterada inicialmente, mas não consigo encontrar a declaração SQL equivalente para o DB2 V8 z/OS. Alguém tem alguma idéia de como fazer isso muito rápido? Além disso, alguma idéia sobre como evitar as verificações referenciais ao excluir as linhas? Por favor, me avise.

Foi útil?

Solução 3

Modificamos o espaço de tabela para que o bloqueio ocorresse no nível do espaço de tabela, em vez de no nível da página. Depois que alteramos, o DB2 exigia apenas um bloqueio para fazer o Excluir e não tivemos nenhum problema com o bloqueio. Quanto ao registro, apenas pedimos ao cliente que estivesse ciente da quantidade de registro necessária (pois não parecia haver uma solução para contornar o problema de registro). Quanto às restrições, acabamos de cair e recriá -las após a exclusão.

Obrigado a todos por sua ajuda.

Outras dicas

No passado, resolvi esse tipo de problema exportando os dados e recarregando-os com um comando de estilo de substituição. Por exemplo:

EXPORT to myfile.ixf OF ixf
SELECT * 
FROM my_table 
WHERE last_modified < CURRENT TIMESTAMP - 30 DAYS;

Então você pode carregá -lo de volta, substituindo as coisas antigas.

LOAD FROM myfile.ixf OF ixf
REPLACE INTO my_table
NONRECOVERABLE INDEXING MODE INCREMENTAL;

Não tenho certeza se isso será mais rápido ou não para você (provavelmente depende se você está excluindo mais do que você está mantendo).

  1. As chaves estrangeiras já têm índices também?

  2. Como você tem sua ação de exclusão? CASCADE, NULL, NO ACTION

  3. Use Definir integridade para desativar temporariamente as restrições no processo em lote.http://www.ibm.com/developerworks/data/library/techarticle/dm-0401melnyk/index.html

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/r

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