Latest web development tutorials

Indice SQLite

Index (Indice) è una tabella di ricerca speciale, un motore di ricerca database utilizzato per velocizzare il recupero dei dati. In poche parole, l'indice è un puntatore ai dati nella tabella. Un indice database di un libro dietro l'indice è molto simile.

Ad esempio, se si vuole discutere di un argomento particolare in un libro tutte le pagine riferimento, è necessario prima di puntare ad un indice, un elenco alfabetico di tutti gli argomenti, e quindi selezionare una o più specifiche numero di pagina.

Gli indici permettono di query rapido SELECT e la clausola WHERE, ma rallenterà l'immissione dei dati utilizzando UPDATE e INSERT istruzioni quando. Indice può essere creato o eliminato, ma non influenzerà i dati.

Creare un indice utilizzando l'istruzione CREATE INDEX, che consente di denominare l'indice, specificare la tabella da indicizzare e una o più colonne, e indica l'indice è crescente o decrescente.

Indice può essere unico, e simile vincolo UNIQUE per evitare voci duplicate nella colonna o combinazione di colonne.

il comando CREATE INDEX

CREATE INDEX La sintassi di base è la seguente:

CREATE INDEX index_name ON nome_tabella;

Un indice separato

L'indice è basato su un solo indice su una lista creata. La sintassi di base è la seguente:

CREATE INDEX nome_indice
ON nome_tabella (nome_colonna);

indice univoco

Utilizzando un indice univoco non solo per le prestazioni, ma anche per l'integrità dei dati. indice univoco non consente alcun valori duplicati nella tabella. La sintassi di base è la seguente:

CREATE UNIQUE INDEX index_name
on table_name (column_name);

indice composito

indice di composizione si basa su due o più colonne di una tabella creata. La sintassi di base è la seguente:

CREATE INDEX nome_indice
su table_name (column1, column2);

Vuoi creare un indice separato è un indice composito, tenendo conto del molto frequenti come le vostre condizioni di filtro di query nelle colonne clausola WHERE.

Se il valore dell'utilizzo di una colonna, scegliere di utilizzare un indice distinto. Se c'è un filtro nella clausola WHERE spesso usare due o più colonne, quindi scegliere di utilizzare una combinazione dell'indice.

indice implicito

indice implicito è che quando si crea un oggetto, creato automaticamente dal server di database. Gli indici vengono creati automaticamente come primaria vincoli di chiave e vincoli unici.

Esempi

Ecco un esempio, creeremo un indice sulla tabella degli stipendi colonna COMPANY:

sqlite> CREATE INDEX salary_index ON COMPANY (stipendio);

Ora, usiamo.indices comando elenca tutti gli indici disponibili sul tavolo COMPANY come segue:

sqlite> .indices COMPANY

Questo produce i seguenti risultati, chesqlite_autoindex_COMPANY_1indice implicito viene creata quando si crea una tabella.

salary_index
sqlite_autoindex_COMPANY_1

Si possono elencare tutte le gamme di database indice, come segue:

sqlite> SELECT * FROM sqlite_master dove tipo = 'indice';

comando DROP INDEX

Un indice può utilizzare il comando SQLiteDROP per cancellare.Particolare attenzione dovrebbe essere quando per eliminare l'indice, dato che il rendimento può diminuire o aumentare.

La sintassi di base è la seguente:

DROP INDEX index_name;

È possibile utilizzare la seguente istruzione per eliminare un indice creato in precedenza:

sqlite> DROP INDEX salary_index;

In quali circostanze per evitare l'utilizzo dell'indice?

Anche se l'indice è di migliorare le prestazioni del database, ma qui sono alcuni casi, la necessità di evitare l'uso dell'indice. Quando si utilizza un indice, le seguenti linee guida dovrebbero essere riesaminate:

  • Indice non deve essere utilizzato su piccoli tavoli.

  • Indice non deve essere usato in grandi quantità vi sono aggiornamenti frequenti o operazione di inserimento tabella.

  • Indice non deve essere utilizzato nella colonna contiene un gran numero di valori NULL.

  • Indice non deve essere utilizzato su un frequente funzionamento della colonna.