Discutiremos índices/tipos de índices Oracle no oracle com o exemplo nesta postagem. Vou falar sobre todas as opções sobre como criar um índice no oracle. Eu também estaria discutindo como verificar o tamanho do índice no oracle. Espero que gostem deste post. Aguardo comentários sobre esta postagem
O que são índices Oracle?
- Assim como temos o índice presente nos livros didáticos para nos ajudar a encontrar o tópico específico no livro, o índice Oracle se comporta da mesma maneira. Temos diferentes tipos de índices no oracle.
- Os índices são usados para pesquisar as linhas na tabela oracle rapidamente. Se o índice não estiver presente, a consulta de seleção deve ler toda a tabela e retornar as linhas. Com o Index, as linhas podem ser recuperadas rapidamente
- Devemos criar índices ao recuperar um pequeno número de linhas de uma tabela. ou para recuperar o primeiro conjunto de linhas o mais rápido possível de alguma consulta que acabará retornando um grande número de linhas. Também depende da distribuição de dados, ou seja, fator de agrupamento
- Os índices são lógica e fisicamente independentes dos dados na tabela associada.
- Os índices são estruturas opcionais associadas a tabelas e clusters. Você pode criar índices em uma ou mais colunas de uma tabela para acelerar a execução da instrução SQL nessa tabela.
- Os índices são o principal meio de reduzir a E/S do disco quando usados corretamente.
- A consulta decide no início se deve usar o índice ou não
- A melhor coisa com índices é que o desempenho de recuperação de dados indexados permanece quase constante, mesmo quando novas linhas são inseridas. No entanto, a presença de muitos índices em uma tabela diminui o desempenho de atualizações, exclusões e inserções porque o Oracle também deve atualizar os índices associados à tabela.
- Se você for o proprietário da tabela, poderá criar um índice ou se desejar criar um índice para a tabela em outro esquema, deverá ter o privilégio de sistema CREATE ANY INDEX ou o privilégio de índice nessa tabela
Tipo lógico de índices
Ele define as características de aplicação do Índice
Único ou não exclusivo | Um índice pode ser Único ou não Único. Oracle cria um índice exclusivo para chave primária e restrições de chave exclusiva Se índices não exclusivos já estiverem presentes nessa coluna, ele não criará um novo índice exclusivo para chave primária no Oracle |
Composto | O índice pode ser composto por uma ou várias colunas. Índices compostos podem acelerar a recuperação de dados para instruções SELECT nas quais a cláusula WHERE faz referência a todas ou à parte inicial das colunas no índice composto. |
Índices baseados em função | Os dados da coluna indexada são baseados em um cálculo |
Índices de domínio do aplicativo | Este índice é usado em aplicações especiais (espacial, texto). |
O que é a pseudocoluna ROWID
ROWID retorna o endereço de cada linha na tabela. O Oracle atribui um ROWID a cada linha. O ROWID consiste no seguinte
- O número do objeto de dados do objeto
- O bloco de dados no arquivo de dados no qual a linha reside
- A posição da linha no bloco de dados (a primeira linha é 0)
- O arquivo de dados no qual a linha reside (o primeiro arquivo é 1). O número do arquivo é relativo ao tablespace.
O Oracle usa ROWID internamente para acessar linhas. Por exemplo, o Oracle armazena ROWID no índice e o usa para acessar a linha na tabela.
Você pode exibir o ROWID de linhas usando o comando SELECT da seguinte forma:
selecione rowid, emp_name de emp;
ROWID EMP_NAME
AAADC576474722aSAAA John
A Oracle fornece um pacote chamado DBMS_ROWID para decodificar ROWID.
Depois que uma linha é atribuída a um ROWID, o Oracle não altera o ROWID durante o tempo de vida da linha. Mas isso muda quando a tabela é reconstruída Quando as linhas são movidas pela partição ou quando a tabela é reduzida
Tipos de índices no oráculo com exemplo
Existem 6 tipos diferentes de índices no oracle
(1) B-Árvore
(2) Árvore B Comprimida
(3) Bitmap
(4) Baseado em Função
(5) Chave Inversa (RKI)
(6) Tabela organizada por índice (IOT).
Vamos descobrir cada um deles em detalhes e como criar um índice no oracle para cada um desses tipos
B – Índice de árvore:
- Os índices B-Tree (árvore balanceada) são o tipo mais comum de índice.
- O índice B-Tree armazenou o ROWID e o valor da chave do índice em uma estrutura de árvore.
- Ao criar um índice, um bloco ROOT é criado, depois os blocos BRANCH e, finalmente, os blocos LEAF.
- Cada ramificação contém o intervalo de dados que seus blocos folha contêm, e cada raiz contém o intervalo de dados que suas ramificações contêm:
- Os índices B-Tree são mais úteis em colunas que aparecem na cláusula where (SELECT … WHERE EMPNO=1).
- O servidor Oracle mantém a árvore balanceada dividindo blocos de índice, quando novos dados são inseridos na tabela.
- Sempre que uma instrução DML é executada na tabela do índice, ocorre atividade do índice, fazendo com que o índice cresça (adicione folhas e ramificações).
Vantagens
- Todos os blocos de folhas da árvore estão na mesma profundidade.
- Os índices de árvore B permanecem balanceados automaticamente.
- Todos os blocos da árvore B estão, em média, três quartos cheios.
- As árvores B oferecem excelente desempenho de recuperação para uma ampla variedade de consultas, incluindo pesquisas de correspondência exata e intervalo.
- Inserções, atualizações e exclusões são eficientes, mantendo a ordem das chaves para recuperação rápida.
- O desempenho da árvore B é bom para tabelas pequenas e grandes e não diminui à medida que o tamanho de uma tabela aumenta.
CREATEINDEX ON ( , …)TABLESPACE ;ExampleCreate index scott.exp_idx na tabela scott.example( name)Tablespace TOOLS; O que são índices de árvore B compactados
- Os índices B-Tree compactados são criados em tabelas grandes, em um ambiente de data warehouse. Nesse tipo de índice, as ocorrências duplicadas do mesmo valor são eliminadas, reduzindo assim a quantidade de espaço de armazenamento que o índice requer.
- Em um índice B-Tree compactado, para cada valor de chave, uma lista de ROWIDs é mantida
- Especificar a palavra-chave COMPRESS ao criar um índice (CREATE INDEX … COMPRESS) criará um índice B-Tree compactado.
- Um índice B-Tree regular pode ser reconstruído usando a palavra-chave COMPRESS para comprimi-lo.
CREATEINDEX ON ( , …)PCTFREE TABLESPACE Compress O que são índices de bitmap
- Os índices de bitmap são mais apropriados em dados de baixa cardinalidade distinta (em oposição aos índices B-Tree).
- Esse tipo de índice cria um mapa binário de todos os valores de índice e armazena esse mapa nos blocos de índice, isso significa que o índice exigirá menos espaço que o índice B-Tree.
- Cada bit no bitmap corresponde a um possível rowid. Se o bit estiver definido, significa que a linha com o rowid correspondente contém o valor da chave. Uma função de mapeamento converte a posição do bit em um rowid real, de modo que o índice de bitmap fornece a mesma funcionalidade que um índice regular, embora use uma representação diferente internamente. Se o número de valores de chave diferentes for pequeno, os índices de bitmap são muito eficientes em termos de espaço
- Quando houver índices de bitmap em tabelas, as atualizações removerão bloqueios de tabela completos. Portanto, o índice de bitmap é útil em colunas grandes com atividade de baixo DML (atualizações infrequentes) ou tabelas somente leitura. Essa é a razão pela qual você geralmente descobre que os índices de bitmap são amplamente usados no ambiente de data warehouse (DWH).
- A estrutura de índice de bitmap contém um mapa de bits que indica o valor na coluna, por exemplo, para a coluna GENDER, o bloco de índice conterá o ROWID inicial, o ROWID final e o mapa de bits:
- Os índices de bitmap são muito úteis quando criados em colunas com baixa cardinalidade, usados com o operador AND &OR na condição de consulta:
CREATE BITMAP INDEXON ( , …)PCTFREE TABLESPACE
Exemplo
CREATE BITMAP INDEX ON emp_data(gender);SELECT COUNT(*) FROM emp_dataWHERE GENDER='M”;
Vantagens dos índices de bitmap
- Tempo de resposta reduzido para grandes classes de consultas
- Uma redução substancial do uso de espaço em comparação com outras técnicas de indexação
- Grandes ganhos de desempenho, mesmo em hardware de baixo custo
- DML e cargas paralelas muito eficientes
Índices baseados em função
Índices baseados em função são índices criados em colunas nas quais uma função geralmente é aplicada.
Ao usar uma função em uma coluna indexada, o índice é ignorado, portanto, um índice baseado em função é muito útil para essas operações.
CREATE INDEXON [ Function( , ;ExampleCREATE INDEX EMP_IDX on EMP(UPPER(ENAME));SELECT *FROM EmpWHERE UPPER(Ename) como 'JOÃO'; O que são índices de chave reversa
- Eles são tipos especiais de índices B-Tree e são muito úteis quando criados em colunas que contêm números sequenciais.
- Ao usar uma B-Tree normal, o índice crescerá para ter muitas ramificações e talvez vários níveis, causando degradação de desempenho, o RKI resolve o problema revertendo os bytes de cada chave de coluna e indexando os novos dados.
l>- Esse método distribui os dados uniformemente no índice. A criação de um RKI é feita usando a palavra-chave REVERSE:CREATE INDEX … ON … REVERSE;
CREATE INDEXON ( )TABLESPACE REVERSE;ExampleCREATE INDEX emp_idx i ON emp_table (nome, sobrenome) REVERSE; O que são tabelas organizadas por índice (IOT) –
- Quando estamos usando os índices B-Tree, bitmap e chave reversa são usados para tabelas que armazenam dados de forma não ordenada (tabelas heap).
- Esses índices contêm a localização do ROWID da linha da tabela necessária, permitindo acesso direto aos dados da linha
- Uma tabela organizada por índice difere de uma tabela comum porque os dados da tabela são mantidos em seu índice associado. Alterações nos dados da tabela, como adicionar novas linhas, atualizar linhas ou excluir linhas, resultam na atualização do índice.
- A tabela organizada por índice é como uma tabela comum com um índice em uma ou mais de suas colunas, mas em vez de manter dois armazenamentos separados para a tabela e o índice de árvore B, o sistema de banco de dados mantém apenas um único B- índice de árvore que contém o valor de chave codificado e os valores de coluna associados para a linha correspondente. Em vez de ter o rowid de uma linha como o segundo elemento da entrada do índice, a linha de dados real é armazenada no índice da árvore B. As linhas de dados são criadas na chave primária da tabela e cada entrada de índice de árvore B contém
. As tabelas organizadas por índice são adequadas para acessar dados pela chave primária ou qualquer chave que seja um prefixo válido da chave primária. - Não há duplicação de valores de chave porque somente valores de coluna não chave são armazenados com a chave. Você pode criar índices secundários para fornecer acesso eficiente por outras colunas. Os aplicativos manipulam a tabela organizada por índice como uma tabela comum, usando instruções SQL. No entanto, o sistema de banco de dados executa todas as operações manipulando o índice de árvore B correspondente.
Recursos da tabela organizada por índice
- A chave primária identifica exclusivamente uma linha; a chave primária deve ser especificada
- Acesso baseado em chave primária
- O rowid lógico na pseudocoluna ROWID permite construir índices secundários
- Restrição ÚNICA não permitida, mas acionadores são permitidos
- Não pode ser armazenado em um cluster
- Pode conter colunas LOB, mas não colunas LONG
- Distribuição e replicação não suportadas
CREATE TABLE comando:CREATE TABLE …ORGANIZATION INDEX TABLESPACE … (especifique que isso é um IOT)PCTTHRESHOLD … (especifique % do bloco a ser retido para armazenar dados de linha, válido de 0 a 50 (padrão 50))INCLUINDO … (especifique qual coluna quebrar uma linha quando o comprimento da linha exceder PCTTHRESHOLD) OVERFLOW TABLESPACE … (especifique o tablespace onde a segunda parte da linha será armazenada) MAPPING TABLE; (causa a criação de uma tabela de mapeamento, necessária ao criar o índice Bitmap no IOT)
A Mapping Table mapeia os ROWIDs físicos do índice para ROWIDs lógicos no IOT. A IOT usa ROWIDs lógicos para gerenciar o acesso à tabela por índice porque os ROWIDs físicos são alterados sempre que os dados são adicionados ou removidos da tabela. Para distinguir o IOT de outros índices, consulte a visualização USER_INDEXES usando a coluna pct_direct_access. Apenas IOT terá um valor não NULL para esta coluna.
Índices de domínio do aplicativo
A Oracle fornece indexação extensível para acomodar índices em tipos de dados complexos, como documentos, dados espaciais, imagens e videoclipes e fazer uso de técnicas de indexação especializadas.
Com a indexação extensível, você pode encapsular rotinas de gerenciamento de índice específicas do aplicativo como um tipo de índice objeto de esquema e defina um índice de domínio (um índice específico do aplicativo) em colunas de tabela ou atributos de um tipo de objeto. A indexação extensível também fornece processamento eficiente de operador específico do aplicativo s.
O software aplicativo, chamado de cartridge e, controla a estrutura e o conteúdo de um índice de domínio. O servidor Oracle interage com o aplicativo para criar, manter e pesquisar o índice de domínio. A própria estrutura de índice pode ser armazenada no banco de dados Oracle como uma tabela organizada por índice ou externamente como um arquivo.
Usando índices de domínio
Os índices de domínio são criados usando a lógica de indexação fornecida por um tipo de índice definido pelo usuário. Um tipo de índice fornece um mecanismo eficiente para acessar dados que satisfazem determinados predicados de operador. Normalmente, o tipo de índice definido pelo usuário faz parte de uma opção Oracle, como a opção Espacial.
Por exemplo, o SpatialIndextype permite pesquisa e recuperação eficientes de dados espaciais que se sobrepõem a uma determinada caixa delimitadora.
O cartucho determina os parâmetros que você pode especificar na criação e manutenção do índice de domínio. Da mesma forma, as características de desempenho e armazenamento do índice de domínio são apresentadas na documentação específica do cartucho.
Até agora, abordamos diferentes tipos de índices no oracle com um exemplo, agora vamos verificar como alterá-los/descartar/recriá-los
Como recriar os índices/reconstruir o índice no oracle
Podemos usar a instrução ALTER INDEX … REBUILD para reorganizar ou compactar um índice existente ou para alterar suas características de armazenamento
A instrução REBUILD usa o índice existente como base para o novo.
ALTER INDEX … REBUILD geralmente é mais rápido do que descartar e recriar um índice.
Ele lê todos os blocos de índice usando E/S de vários blocos e descarta os blocos de ramificação.
Outra vantagem dessa abordagem é que o índice antigo ainda está disponível para consultas enquanto a reconstrução está em andamento.
Alterar índicereconstruir;Alterar índice reconstruir espaço de tabela ; Como escrever declarações que evitem o uso de índices
- Você pode usar a dica do otimizador NO_INDEX para dar flexibilidade máxima ao CBO enquanto não permite o uso de um determinado índice.
- Você pode usar a dica FULL para forçar o otimizador a escolher uma verificação de tabela completa em vez de uma verificação de índice.
- Você pode usar as dicas INDEX, INDEX_COMBINE ou AND_EQUAL para forçar o otimizador a usar um índice ou um conjunto de índices listados em vez de outro.
Como coletar estatísticas para índices
As estatísticas de índice são reunidas usando a instrução ANALYZE INDEX ou dbms_stats.
As opções disponíveis são COMPUTE/ESTIMATE STATISTICS ou VALIDATE STRUCTURE.
A partir de 10g, quando o índice é criado, as estatísticas de computação são feitas automaticamente
Ao usar a estrutura de validação, o Oracle preenche a visualização INDEX_STATS com estatísticas relacionadas ao índice analisado. As estatísticas contêm o número de linhas e blocos de folhas (LF_ROWS, LF_BLKS), número de linhas e blocos de ramificações (BR_ROWS, BR_BLKS), número de linhas de folhas excluídas (DEL_LF_ROWS), espaço usado (USED_SPACE), número de chaves distintas (DISTINCT_KEYS) , etc. Essas estatísticas podem ser usadas para determinar se o índice deve ser recriado ou não
Como a Oracle decide sobre o uso do índice?
O Oracle decide automaticamente se o índice deve ser usado pelo mecanismo do Optimizer.
A Oracle decide se deve usar um índice ou não dependendo da consulta.
A Oracle pode entender se o uso de um índice melhorará o desempenho na consulta fornecida. Se o Oracle achar que usar um índice melhorará o desempenho, ele usará o índice, caso contrário, ignorará o índice.
Vamos entender por este exemplo
Temos uma tabela emp que contém emp_name, salário,dept_no ,emp_no,date_of_joining e temos um índice em emp_name
Consulta 1
selecione * de emp onde emp_name ='John';
A consulta acima usará o índice, pois estamos tentando obter informações sobre um emp com base no nome.
Consulta 2
selecione * de emp;
A consulta acima não usará o índice, pois estamos tentando encontrar todas as linhas na tabela e não temos a cláusula where na consulta
Consulta 3
selecione * de emp onde dept_no =5;
A consulta acima não usará o índice, pois a cláusula where não seleciona a coluna que tem um índice
Consulta 4
selecione * de emp onde substr(emp_name,1,4) ='XYZW';
A consulta acima não usará o índice, pois a cláusula where usa a função na coluna e não temos um índice funcional em emp_name
Como criar ou reconstruir o índice Online?
O Oracle costumava bloquear a tabela na qual o índice está sendo criado durante todo o processo de criação em versões mais antigas. Isso torna a tabela indisponível para manipulação de dados durante a criação do índice.
Agora com 8i, a Oracle introduziu a reconstrução online do índice onde a Oracle não bloqueia a tabela na qual o índice está sendo construído.
A indexação online é fornecida através da palavra-chave ONLINE.
CREATEINDEX ON ( , …)PCTFREE TABLESPACE Online;Alter index reconstruir online;
Basicamente, com uma reconstrução online, o Oracle bloqueia a tabela no início e no final da criação do índice. Permite transações intermediárias. O mecanismo foi bastante melhorado com 11g e 12c
Quais são as desvantagens dos índices
Os índices aumentam o desempenho de uma consulta selecionada, mas também podem diminuir o desempenho da manipulação de dados.
Muitos índices em uma tabela podem diminuir drasticamente INSERTS e DELETES
Quanto mais índices houver na tabela, mais tempo serão necessárias para inserções e exclusões.
Da mesma forma, cada alteração em uma coluna indexada precisará de uma alteração no índice.
Portanto, precisamos escolher o índice com muito cuidado e descartar os que não estão em uso.
Embora o espaço extra ocupado pelos índices também seja uma consideração, pode não importar muito, pois o custo do armazenamento de dados diminuiu substancialmente.
O que são índices inutilizáveis
Um índice inutilizável é ignorado pelo otimizador ao decidir o plano de explicação
Ele também não é mantido pelo DML, ou seja, atualizar, inserir, excluir faz a atualização do índice
Pode haver vários motivos para o índice estar em um estado inutilizável. Você fez a reconstrução da tabela, mas não recriou o índice, então o índice ficará em um estado inutilizável. Um outro motivo para tornar um índice inutilizável é melhorar o desempenho do carregamento em massa. Outro motivo pode ser o otimizador pegar o índice errado toda vez e o tempo é crítico, então você pode decidir torná-lo inutilizável
Um índice ou partição de índice inutilizável deve ser reconstruída ou descartada e recriada antes de poder ser usada. Truncar uma tabela torna um índice inutilizável válido.
A partir do Oracle Database 11g Release 2, quando você torna um índice existente inutilizável, seu segmento de índice é descartado.
A funcionalidade de índices inutilizáveis depende da configuração do parâmetro de inicialização SKIP_UNUSABLE_INDEXES.
Quando SKIP_UNUSABLE_INDEXES for TRUE (o padrão), então:
As instruções DML na tabela continuam, mas os índices inutilizáveis não são mantidos.
As instruções DML terminam com um erro se houver algum índice inutilizável usado para impor a restrição UNIQUE.
Para índices não particionados, o otimizador não considera nenhum índice inutilizável ao criar um plano de acesso para instruções SELECT. A única exceção é quando um índice é especificado explicitamente com a dica INDEX().
Quando SKIP_UNUSABLE_INDEXES for FALSE, então:
Se houver índices ou partições de índice inutilizáveis, todas as instruções DML que fariam com que esses índices ou partições de índice fossem atualizadas serão encerradas com um erro.
Para instruções SELECT, se um índice inutilizável ou uma partição de índice inutilizável estiver presente, mas o otimizador não optar por usá-lo para o plano de acesso, a instrução continuará. No entanto, se o otimizador optar por usar o índice inutilizável ou a partição de índice inutilizável, a instrução será encerrada com um erro.
Visualizações do dicionário de dados em Índices
DBA_INDEXES ALL_INDEXES USER_INDEXES A visão DBA descreve os índices em todas as tabelas do banco de dados. A visão ALL descreve índices em todas as tabelas acessíveis ao usuário. A visualização USER é restrita a índices de propriedade do usuário. Algumas colunas nessas visualizações contêm estatísticas geradas pelo pacote DBMS_STATS ou pela instrução ANALYZE. DBA_IND_COLUMNS ALL_IND_COLUMNS
USER_IND_COLUMNS
Essas visualizações descrevem as colunas de índices nas tabelas. Algumas colunas nessas visualizações contêm estatísticas geradas pelo pacote DBMS_STATS ou pela instrução ANALYZE. DBA_IND_EXPRESSIONS ALL_IND_EXPRESSIONS
USER_IND_EXPRESSIONS
Essas visualizações descrevem as expressões de índices baseados em funções em tabelas. DBA_IND_STATISTICS ALL_IND_STATISTICS
USER_IND_STATISTICS
Essas visualizações contêm estatísticas do otimizador para índices. como encontrar índices em uma tabela
definir o tamanho da página 50000 verificar off echo offcol table_name head 'Table Name' format a20col index_name head 'Index Name' format a25col column_name head 'Column Name' formato a30break on table_name em index_nameselect table_name, index_name, column_namefrom all_ind_columnswhere table_name like upper('&Table_Name ')ordem por table_name, index_name, column_position/Como determinar o tamanho do índice
Tamanho do ÍNDICE selecione segment_name,sum(bytes)/1024/1024/1024 como "SIZE in GB" de user_segments onde segment_name='INDEX_NAME' group by segment_name;OU selecione owner,segment_name,sum(bytes)/1024/1024/1024 como "SIZE in GB" de dba_segments onde proprietário='SCHEMA_NAME' e segment_name='INDEX_NAME' agrupam por proprietário,segment_name; Lista de tamanho de todos os ÍNDICES de um USUÁRIO selecione segment_name,sum(bytes)/1024/1024/1024 como "SIZE in GB" de user_segments onde segment_type='INDEX' group by segment_name order by "SIZE in GB" desc;ORselect owner,segment_name,sum(bytes)/1024 /1024/1024 como "SIZE in GB" de dba_segments onde owner='SCHEMA_NAME' e segment_type='INDEX' agrupam por proprietário,segment_name ordenam por "SIZE in GB" desc;Soma dos tamanhos de todos os índices selecione owner,sum(bytes)/1024/1024/1024 como "SIZE in GB" de dba_segments onde owner='SCHEMA_NAME' e segment_type='INDEX' agrupam por proprietário;
Como determinar o índice definição
set long 4000select dbms_metadata.get_ddl('INDEX','','
Como determinar as estatísticas do Índice
definir páginas 250 definir tamanho de linha 100 definir offcol table_name formato a24 título 'TABLE NAME' col index_name formato a23 título 'INDEX NAME' col u formato a1 título 'U'col blevel formato 0 título 'BL'col leaf_blocks formato 999990 título 'LEAF |BLOCKS'col distinct_keys format 9999990 header 'DISTINCT|KEYS'col avg_leaf_blocks_per_key format 9999990 header 'LEAF|BLKS|/KEY'col avg_data_blocks_per_key format 9999990 header 'DATA|BLKS|/KEY'rembreak on table_nameremselect table_name, index_name,decode(unicidade, 'UNIQUE', 'U', null ) u,blevel, leaf_blocks, distinct_keys,avg_leaf_blocks_per_key, avg_data_blocks_per_keyfrom sys.dba_indexeswhere table_owner como upper('&owner') e table_name como upper('&table')order by table_owner, table_name, index_name;
Artigos relacionados
tabelas externas no Oracle :Confira este post para obter informações sobre o uso das tabelas externas no oracle com um exemplo, como criar uma tabela externa, como usá-la
Oracle Create table :Tables are the basic unit of data armazenamento em um banco de dados Oracle. abordamos como usar o comando create table do Oracle para criar uma tabela com uma chave estrangeira/chave primária
instrução de criação de tablespace do oracle:Este artigo sobre como criar tablespace no oracle, várias características associadas a ele e diferentes instruções create tablespace
Encontre o status dos índices e as colunas atribuídas a uma tabela
Índice Virtual no Oracle:O que é o Índice Virtual no Oracle? Usos, limitação, vantagem e como usar para verificar o plano de explicação no banco de dados Oracle, parâmetro oculto _USE_NOSEGMENT_INDEXES
Fator de clustering Oracle Index:Como o fator de clustering Oracle Index é calculado e como isso afeta o plano de explicação
Partição Oracle Índice :Entendendo o índice de partição Oracle,O que são índices globais não particionados?, O que são índices prefixados locais, índice local não prefixado
Cursos recomendados
Aqui está o bom curso da Udemy para Oracle SQL
Oracle-Sql-Step-by-step:Este curso abrange sql básico, junções, criação de tabelas e modificação de sua estrutura, criação de exibição, união, união -tudo e muitas outras coisas . Um ótimo curso e curso obrigatório para iniciantes em SQL
O Curso Completo de Certificação Oracle SQL :Este é um bom curso para quem quer estar pronto para trabalhar com habilidades de desenvolvedor SQL. Um bom curso explicado
Oracle SQL Developer:Essentials, Tips and Tricks :A ferramenta de desenvolvedor Oracle Sql está sendo usada por muitos desenvolvedores. Este curso nos dá truques e lições sobre como usá-lo efetivamente e se tornar um desenvolvedor sql produtivo
Oracle SQL Performance Tuning Masterclass 2020 :O ajuste de desempenho é uma das habilidades críticas e mais procuradas. Este é um bom curso para aprender sobre isso e começar a fazer o ajuste de desempenho do sql