Locks ocorrer no servidor do IBM DB2 cada vez que você realizar uma consulta, inserção, atualização ou exclusão. Tabelas ter um parâmetro " LOCKSIZE " que pode afetar de bloqueio. O ajuste da tabela de " LOCKSIZE QUALQUER " permite que o DB2 para escolher o tamanho do bloqueio, geralmente adquirindo bloqueios de página . As instruções de consulta SQL pode afetar bloqueio configurando um " nível de isolamento " no início da transação. Mesmo quando se concede um bloqueio específico , o DB2 pode promover ou aumentar o bloqueio , portanto, você deve entender como o DB2 lida com o bloqueio ao escrever aplicativos de banco de dados . Os programadores podem definir o nível de bloqueio para melhorar o desempenho do banco de dados com o comando "LOCK TABLE" , no entanto. Instruções
1
Bloquear toda a tabela no modo compartilhado ou modo exclusivo. Executar " LOCK TABLE myTable em modo exclusivo " (substitua " myTable " com o nome da tabela do DB2 ) para manter o bloqueio em toda a tabela até que a transação foi concluída. Este modo impede que outros usuários acessem a mesa até você liberar o bloqueio .
2
Executar " LOCK TABLE myTable IN SHARE MODE " para permitir acesso somente leitura para a mesa durante a transação. Este modo mantém os dados consistente e ainda permite que os usuários para o visualizar. O comando "LOCK TABLE" pode melhorar o desempenho e prevenir " Interbloqueios" , criando um bloqueio na tabela inteira em vez de vários bloqueios de linha individual.
3
Solte o bloqueio usando " RELEASE ( COMMIT ) "ou" RELEASE ( DEALLOCATE ) "--- suas duas opções quando você executar o " " declaração de SQL estática. " LOCK TABLE RELEASE ( COMMIT ) " irá liberar o bloqueio após a execução de uma" declaração COMMIT " . " RELEASE ( DEALLOCATE ) " irá liberar o bloqueio quando o aplicativo termina.
4
Solte o bloqueio quando você executar a instrução "LOCK TABLE" SQL como dinâmico com " RELEASE ( COMMIT ) " . Se você estiver usando o cache , o DB2 mantém instruções preparadas na memória depois de um " COMMIT " e, portanto , você deve liberar a trava ou executar um " COMMIT " após as declarações preparadas já não estão na memória para libertar o bloqueio
< br. >