Índice desordenado! Isto é possível?

indice desordenado

Quando executamos uma consulta no banco de dados Oracle e no seu plano de execução aparece a operação INDEX RANGE SCAN, os dados recuperados da tabela deveriam estar ordernados pela chave do índice, mas esta afirmação encontrada inclusive no manual da Oracle nem sempre é verdadeira. Esta premissa é muito importante pois a utilização da claúsula ORDER BY na consulta

» Read more

Por que 100 linhas a mais numa tabela podem prejudicar o desempenho de uma consulta?

index split

Você acredita que uma consulta numa tabela com mais de 300 mil linhas possa ter seu plano de execução alterado pelo Otimizador quando inserimos mais 100 linhas na tabela? Neste artigo vamos ver uma simulação onde isto ocorre, explicar por que ocorre e quais são as alternativas para evitar este tipo de situação. Nossa simulação utilizará uma consulta muito simples

» Read more

REBUILD ou COALESCE, Qual a melhor opção?

rebuild index

Existe uma discussão antiga entre os administradores de banco de dados Oracle quanto a necessidade de fazer periodicamente a reorganização dos índices das tabelas, neste artigo vamos abordar esse assunto com o foco no impacto desta atividade na performance das consultas no banco. Esse assunto também é muito controverso com relação a reorganizar os índices para liberar espaço em disco,

» Read more

O que você ainda não sabe sobre exclusão de índices?

Exclusão índices

Uma das tarefas do administrador de banco de dados é verificar periodicamente se existem índices que foram criados mas não estão sendo utilizados nos planos de execução das instruções SQL, essa tarefa é necessária pois alem de liberar o espaço em disco utilizado pelo índice, também contribui para melhoria de desempenho das instruções DML (Delete, Insert e Update). Para realizar

» 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

Quando usar os Function-Based Indexes?

Function-Based Indexes

Um dos problemas mais comuns encontrados num processo de tuning de instruções SQL são as operações FULL TABLE SCAN que muitas vezes são escolhidas pelo Otimizador por falta de opção já que não consegue utilizar um índice de uma determinada coluna pois o programador incluiu na cláusula WHERE uma função para essa coluna. A partir da versão Oracle 8i foi introduzido

» Read more

Por que minha consulta não esta usando o índice?

Cost Base Optimizer

Existem muitas razões pelas quais o Otimizador do Oracle Database escolhe não utilizar um índice de uma tabela, algumas são bem conhecidas outras nem tanto, neste artigo vamos analisar uma consulta que aparentemente deveria utilizar um índice porem o Otimizador resolve fazer um “FULL TABLE SCAN” na tabela, esse caso especifico é bem comum e muitas vezes perdemos muito tempo

» Read more
1 2