Oracle Create Index

Oracle Create Index

Nos bancos de dados Oracle, um índice refere -se a uma estrutura de dados que avança a velocidade das operações de recuperação de dados em uma tabela de banco de dados. No entanto, isso pode ocorrer com uma penalidade de operações de gravação extras e espaço de armazenamento em seu banco de dados.

Um exemplo de onde um índice de banco de dados seria útil está em um sistema de gerenciamento de relacionamento com o cliente.

Nesse sistema, podemos ter uma tabela de banco de dados que armazena informações do cliente. Isso pode incluir o nome, endereço, métodos de pagamento, informações de contato, etc.

Se a tabela possuir muitos registros, talvez milhões deles, pode levar muito tempo e recursos para pesquisar informações específicas do cliente do banco de dados. Este é um fenômeno negativo, especialmente em bancos de dados onde o desempenho é crítico.

Para circunavegar isso, podemos usar um índice de banco de dados.

Por exemplo, podemos criar um índice na coluna de nome do cliente que permitiria ao sistema de banco de dados encontrar rapidamente e recuperar as informações de um cliente específico usando o nome. Portanto, em vez do mecanismo de banco de dados passando por todas as linhas e colunas da tabela, ele usa apenas o índice para procurar informações do cliente.

Neste tutorial, você aprenderá a usar o comando Create Index no banco de dados Oracle para inicializar um novo índice.

Oracle Create Index Declaração

A seguir, mostra a sintaxe da instrução Create Index nos bancos de dados Oracle:

Crie index index_name
Na tabela_name (column1, column2,…);

A sintaxe acima cria um índice denominado index_name na tabela com o nome Table_name usando as colunas especificadas (Column1, Column2, etc.) como a chave para o índice.

No Oracle, uma chave primária é uma coluna ou conjunto de colunas que identifica exclusivamente cada linha em uma tabela. Por padrão, o Oracle cria automaticamente um índice exclusivo nas colunas de chave primária de uma tabela para aplicar a restrição de singularidade e melhorar o desempenho das pesquisas de chave primária.

No entanto, em alguns casos, pode ser necessário criar um novo índice para uma tabela específica manualmente.

Vejamos alguns exemplos de como podemos fazer isso.

Oracle Create Index Exement

Suponha que tenhamos uma tabela contendo informações de funcionários, como mostrado na saída abaixo:

selecione First_Name, Last_Name, Salário, Hire_date dos funcionários;

Oracle Create Index para uma única coluna

Suponha que desejemos criar um índice usando a coluna First_Name. Podemos executar uma consulta como mostrado:

criar índice primeiro_name_lookup nos funcionários (primeiro_name);

Esta instrução CREATE INDEX cria um índice chamado First_Name_Lookup na tabela de funcionários, usando a coluna First_Name como a chave para o índice. Esse índice pode ser usado para melhorar o desempenho de consultas que pesquisam funcionários pelo primeiro nome.

Depois de criar o índice, podemos usá -lo para procurar um funcionário específico, como mostrado:

Selecione First_Name, Last_Name, Salário, Hire_date
De funcionários
Onde primeiro_name = 'William';

Resultado:

Sem o índice First_Name_Lookup, o sistema de banco de dados teria que digitalizar toda a tabela de funcionários para encontrar todas as linhas onde a coluna First_Name é igual a 'William.'No entanto, com o índice em vigor, o sistema de banco de dados pode procurar rapidamente as linhas no índice usando o valor' John 'como a chave e depois recuperar as linhas solicitadas da tabela, que serão muito mais rápidas.

Você pode visualizar as etapas usadas ao fazer a consulta usando o comando Exply Plan, conforme mostrado:

Explique o plano para selecionar primeiro_name, last_name, salário, contratar_date
De funcionários
Onde primeiro_name = 'William';

Plano de consulta resultante:

Exemplo 2 - Oracle Crie índice com várias colunas

Da mesma forma, podemos criar um índice composto por mais de uma coluna em uma determinada tabela. Por exemplo, suponha que queremos criar um índice composto pela coluna First_Name e Last_Name.

Podemos usar o código como mostrado:

criar índice multi_lookup nos funcionários (primeiro_name, last_name);

Esta instrução CREATE INDEX cria um índice chamado Multi_lookup na tabela de funcionários, usando as colunas First_Name e Last_Name como a chave para o índice.

Uma vez criado, podemos usar este índice, conforme mostrado na consulta de amostra, como mostrado:

Selecione First_Name, Last_Name, Salário, Hire_date
De funcionários
Onde primeiro_name = 'william' e last_name = 'smith';

Valor resultante:

E aí, você tem um método de acelerar suas consultas de banco de dados usando índices para limitar o escopo da pesquisa.

Conclusão

A instrução Create Index no Oracle nos permite criar um índice em uma tabela para melhorar o desempenho das operações de recuperação de dados. No entanto, embora os índices possam melhorar o desempenho da consulta, eles também incorrem penalidades no espaço de armazenamento, levando a operações reduzidas de velocidade de gravação, usam -as somente quando necessário.