Você conhece alguma ferramenta para comparar plano de execução?

Compare execution plan

Existem situações em que precisamos comparar dois planos de execução para identificar suas diferenças, quando o plano de execução é simples conseguimos realizar essa tarefa inspecionando visualmente os dois planos gerados pelo Otimizador, mas se o plano de execução é mais complexo essa tarefa pode se tornar bem difícil. Este artigo apresenta um recurso disponível no SQL Developer que permite

» Read more

SQL Profile: Será que posso usar esse recurso?

Oracle Licensing

Quando a Oracle lança uma nova versão de banco de dados no mercado todos os profissionais da área ficam curiosos para conhecer as novas funcionalidades (features), e algumas delas proporcionam recursos fantásticos para facilitar a vida de quem trabalha com isso, porem muitas vezes não fica claro que algumas dessas novas funcionalidades requerem uma licença adicional. Esse é o caso

» Read more

Como modificar um plano de execução sem alterar a instrução SQL?

SQL Profile

Quando estamos realizando um trabalho de tuning SQL muitas vezes nos deparamos com situações em que não podemos alterar o código da aplicação pois esta pertence a terceiros. Essa limitação pode ser superada facilmente utilizando o recurso SQL PROFILE do banco Oracle, disponível a partir da versão 10g. Neste artigo vamos fazer uma demonstração de uma situação hipotética onde vamos utilizar

» Read more

Por que o operador NOT EQUAL prejudica performance?

Operator Not Equal

As instruções SQL que utilizam NOT EQUAL na cláusula WHERE em base de dados Oracle não utilizam índice no plano de execução para acessar as linhas da tabela, em algumas situações essa limitação do Otimizador pode prejudicar o desempenho das instruções SQL. Nesse artigo vamos entender porque essa limitação existe e verificar quais alternativas podemos utilizar em nossa instrução SQL

» Read more

Uma ferramenta que facilita a leitura do plano de execução

Execution plan order

Alguns aspectos na leitura do plano de execução não são tão simples e requerem um pouco de prática, um desses aspectos é determinar em que ordem as operações são executadas, já publicamos um artigo que orienta como identificar essa ordem, agora vamos realizar alguns testes com um script (autor: Adrian Billington) que mostra o plano de execução no mesmo formato

» Read more

Como pode um plano de execução mudar quando não há alterações no banco?

estatísticas

Como pode um plano de execução de mudar de repente, quando ninguém fez qualquer alteração no banco de dados? Por nenhuma mudança, queremos dizer que não houve alterações na estrutura das tabelas, não foram adicionados ou alterados índices, nenhuma mudança relativa a “Bind Peeking”, sem mudanças de parâmetros do banco, não houve aplicação novos patches ou upgrades, não houve criação

» Read more

SQL Profile: uma poderosa aliada no processo de Tuning

sql_profile

Quantas vezes você encontrou uma consulta usando um índice X quando você queria que ela usasse o índice Y, ou uma consulta realizando “Nested loop” para fazer um “join” entre duas tabelas quando um “Hash Join” realizaria esse trabalho muito mais rápido. Ou uma instância em que a aplicação de repente começa a utilizar um plano de execução ineficiente após

» Read more
1 2 3 4 5