Domanda

Speriamo, ho una risposta per ogni server di database.

Per una descrizione di come l'indicizzazione opere check out: Come funziona il database di indicizzazione di lavoro?

È stato utile?

Soluzione

Il seguente è SQL92 standard quindi dovrebbe essere sostenuta dalla maggioranza di RDMBS che utilizzano SQL:

CREATE INDEX [index name] ON [table name] ( [column name] )

Altri suggerimenti

Sql Server 2005 ti dà la possibilità di specificare un indice di copertura.Questo è un indice che include i dati da altre colonne al livello foglia, in modo da non dover tornare al tavolo per ottenere le colonne che non sono inclusi nell'indice di chiavi.

create nonclustered index my_idx on my_table (my_col1 asc, my_col2 asc) include (my_col3);

Questo è un valore inestimabile per una query che ha my_col3 nell'elenco di selezione, e my_col1 e my_col2 nella clausola where.

Per python pytables, gli indici non hanno un nome e sono legati a singole colonne:

tables.columns.column_name.createIndex()

In SQL Server, è possibile effettuare le seguenti operazioni:(Collegamento MSDN per un elenco completo delle opzioni disponibili).

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

(tralasciando alcune opzioni più avanzate...)

Il nome di ciascun Indice deve essere unico database di larghezza.

Tutti gli indici possono avere più colonne, ciascuna delle quali può essere ordinato in qualsiasi ordine si desidera.

Gli indici cluster sono unici, uno per ogni tabella.Essi non possono avere INCLUDEd colonne.

Gli indici non cluster non sono univoci, e può avere fino a 999 al tavolo.Essi possono avere colonne, e dove clausole.

Per creare gli indici seguenti cose possono essere utilizzati:

  1. Crea un indice in una tabella.Valori duplicati sono ammessi:CREATE INDEX index_name ON table_name (column_name)

  2. Crea un unico indice in una tabella.Valori duplicati non ammessi:CREATE UNIQUE INDEX index_name ON table_name (column_name)

  3. Indice Cluster: CREATE CLUSTERED INDEX CL_ID ON SALES(ID);

  4. Indice Non cluster:
    CREATE NONCLUSTERED INDEX NONCI_PC ON SALES(ProductCode);

Riferimento: http://www.codeproject.com/Articles/190263/Indexes-in-MS-SQL-Server per ulteriori dettagli.

  1. CREATE INDEX name_index ON Employee (Employee_Name)

  2. Su un multi-colonna: CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)

Poiché la maggior parte delle risposte sono date per i database SQL, sto scrivendo questo per NOSQL database, in particolare per MongoDB.

Di seguito è riportata la sintassi per creare un indice in MongoDB utilizzando mongo shell.

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

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

Nell'esempio sopra un singolo tasto decrescente dell'indice viene creato sul nome campo.

Tenete a mente MongoDB indici usa B-tree struttura di dati.

Ci sono diversi tipi di indici siamo in grado di creare in mongodb, per ulteriori informazioni, fare riferimento al link qui sotto - https://docs.mongodb.com/manual/indexes/

Un indice non è sempre necessario per tutti i database.Per esempio:Kognitio aka WX2 motore non offre una sintassi per l'indicizzazione del motore di database si prende cura di esso in modo implicito.Dati va via round-robin di partizionamento e Kognitio WX2 ottiene i dati e disattivare il disco nel modo più semplice possibile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top