Modificando um perfil de otimização

Quando você faz uma alteração em um perfil de otimização há determinadas etapas que precisam ser tomadas para que as alterações nos perfis de otimização surtam efeito.

Sobre essa Tarefa

Quando um perfil de otimização é referenciado, ele é compilado e armazenado em cache na memória; portanto, essas referências também devem ser removidas. Use a instrução FLUSH OPTIMIZATION PROFILE CACHE para remover o perfil antigo a partir do cache do perfil de otimização. A instrução também invalida qualquer declaração no cache do plano dinâmico que foi preparado usando o perfil antigo (invalidação lógica).

Procedimento

Para modificar um perfil de otimização:

  1. Editar o arquivo XML do perfil de otimização em disco, fazer as alterações necessárias, salvar o arquivo em disco.
  2. Validar que as alterações feitas no arquivo são XML bem formadas conforme definido no esquema de perfil de otimização atual (COPS) no arquivo DB2OptProfile.xsd , que está localizado no subdiretório misc do diretório sqllib.
  3. Atualizar a linha existente no SYSTOOLS.OPT_PROFILE com o novo perfil.
  4. Certifique-se de que o novo perfil de otimização seja usado:
    • Se você não criou triggers para limpar o cache do perfil de otimização, emita a instrução FLUSH OPTIMIZATION PROFILE CACHE. A instrução remove quaisquer versões do perfil de otimização que possam estar contidas no cache do perfil de otimização.

      Ao se limpar o cache do perfil de otimização, quaisquer instruções dinâmicas que foram preparadas com o perfil de otimização antigo também são invalidadas no cache do plano dinâmico.

    • Se você tiver ligado um perfil de otimização a um pacote de instruções estáticas, então você precisará re-ligar o pacote, usando o parâmetro de comando OPTPROFILE novamente para especificar o perfil de otimização modificado.

Resultados

Qualquer referência subsequente ao perfil de otimização faz com que o otimizador leia o novo perfil e para recarregá-lo no cache do perfil de otimização. As instruções preparadas sob o perfil antigo de otimização são logicamente invalidadas. As chamadas feitas para essas instruções são preparadas sob o novo perfil de otimização e recidas no cache do plano dinâmico.