Como faço para indexar uma coluna de banco de dados

votos
48

Espero que eu possa obter respostas para cada servidor de banco de dados.

Para um esboço de como obras de indexação confira: Como funciona a indexação do banco de dados?

Publicado 04/08/2008 em 12:21
fonte usuário
Em outras línguas...                            


9 respostas

votos
54

O seguinte é padrão SQL92 por isso deve ser apoiada pela maioria dos RDMBS que usam SQL:

CREATE INDEX [index name] ON [table name] ( [column name] )
Respondeu 04/08/2008 em 12:25
fonte usuário

votos
6

Sql Server 2005 dá-lhe a capacidade de especificar um índice de cobertura. Este é um índice que inclui dados de outras colunas no nível folha, para que você não tem que voltar para a mesa para obter colunas que não estão incluídos nas chaves de índice.

criar my_idx índice agrupado em my_table (my_col1 ASC, ASC my_col2) incluem (my_col3);

Isso é inestimável para uma consulta que tem my_col3 na lista de seleção, e my_col1 e my_col2 na cláusula onde.

Respondeu 13/08/2008 em 15:05
fonte usuário

votos
4

No SQL Server, você pode fazer o seguinte: ( MSDN Fazer a ligação a lista completa de opções.)

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name 
    ON <object> ( column [ ASC | DESC ] [ ,...n ] ) 
    [ INCLUDE ( column_name [ ,...n ] ) ]
    [ WHERE <filter_predicate> ]

(Ignorando algumas opções mais avançadas ...)

O nome de cada índice deve ser exclusivo banco de dados de largura.

Todos os índices podem ter várias colunas, e cada coluna pode ser encomendado em qualquer ordem desejada.

Índices agrupados são únicos - um por mesa. Eles não podem ter INCLUDEd colunas.

índices agrupados não são exclusivos, e pode ter até 999 por tabela. Eles podem ter incluído colunas, e WHERE.

Respondeu 15/06/2012 em 19:01
fonte usuário

votos
4

Para pytables python, os índices não têm nomes e eles são obrigados a colunas simples:

tables.columns.column_name.createIndex()
Respondeu 23/01/2012 em 16:13
fonte usuário

votos
2

Você só deve índice das colunas em que você executa frequentes de pesquisa / consultas.

Suponha que você tenha uma tabela chamada Students onde armazenam StudentID, nome, curso, grau etc. E você precisa procurar com frequência a coluna StudentID para obter informações sobre os alunos específicos.

SELECT Name, Course, Grade

FROM Students

WHERE StudentID = 111025

Você deve criar um índice nessa coluna, uma vez que irá acelerar o processo de busca. Você pode criar um índice em uma coluna existente com o seguinte código:

CREATE INDEX IndexStudentID

ON Students (StudentID)

O nome IndexStudentID pode ser qualquer coisa, escolher algo que faz sentido para você.

No entanto, a criação de um índice irá adicionar alguma sobrecarga para o seu banco de dados. Existem muitas ferramentas que podem ajudar, por exemplo, estou usando SQLDbm como eu me convier melhor.

Respondeu 29/08/2017 em 09:53
fonte usuário

votos
2

Para criar índices seguintes coisas podem ser usados:

  1. Cria um índice de uma tabela. valores duplicados são permitidos:

    ÍNDICE DE CRIAR nome_do_índice NO nome_da_tabela (column_name)

  2. Cria um índice exclusivo sobre uma mesa. Valores duplicados não são permitidos:

    CRIAR nome_do_índice índice exclusivo em nome_da_tabela (column_name)

  3. Índice agrupado

    CRIAR CL_ID índice agrupado sobre vendas (ID);

  4. índice não agrupado

    CRIAR NONCLUSTERED ÍNDICE NONCI_PC VENDAS EM (ProductCode);

referem http://www.codeproject.com/Articles/190263/Indexes-in-MS-SQL-Server para mais detalhes.

Respondeu 02/06/2015 em 13:38
fonte usuário

votos
1

1.

 CREATE INDEX name_index ON Employee (Employee_Name)
  1. Em uma coluna de multi

    CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)
    
Respondeu 17/01/2017 em 10:48
fonte usuário

votos
0

Um índice não é sempre necessária para todos os bancos de dados. Por exemplo: Kognitio aka motor WX2 não oferece uma sintaxe para a indexação como o motor de banco de dados cuida dele implicitamente. Dados passa através de particionamento round-robin e Kognitio WX2 obtém dados dentro e fora do disco da forma mais simples possível.

Respondeu 05/06/2018 em 10:24
fonte usuário

votos
0

Desde a maioria das respostas são dadas para bancos de dados SQL, eu estou escrevendo isso para bancos de dados NoSQL, especificamente para MongoDB.

Abaixo está a sintaxe para criar um índice no MongoDB usando shell mongo.

db.collection.createIndex( <key and index type specification>, <options> )

exemplo - db.collection.createIndex( { name: -1 } )

No exemplo acima, um único índice de chave descendente é criado no campo de nome.

Tenha em índices MongoDB mente utiliza estrutura de dados B-tree.

Existem vários tipos de índices podemos criar no MongoDB, para mais informações consulte o link abaixo - https://docs.mongodb.com/manual/indexes/

Respondeu 01/06/2018 em 19:05
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more