Latest web development tutorials

índice de SQLite

Index (Índice) es una tabla de consulta especial, un motor de búsqueda de base de datos utilizada para acelerar la recuperación de datos. En pocas palabras, el índice es un puntero a los datos de la tabla. Un índice de la base de datos de un libro detrás del índice es muy similar.

Por ejemplo, si usted quiere discutir un tema en particular en un libro todas las páginas referenciadas, primero tiene que apuntar a un índice, una lista alfabética de todos los temas, ya continuación, elige uno o más específico número de página.

Índices permiten rápida consulta SELECT y la cláusula WHERE, pero se ralentizará la entrada de datos utilizando UPDATE y INSERT declaraciones una vez. Índice puede ser creado o eliminado, pero no afectará a los datos.

Crear un índice utilizando la sentencia CREATE INDEX, que le permite nombrar el índice, especifique la mesa para ser indexada y una o varias columnas, e indica el índice es ascendente o descendente.

Índice puede ser restricción UNIQUE única, y similar para evitar entradas duplicadas en la columna o combinación de columnas.

Comando CREATE ÍNDICE

CREATE INDEX La sintaxis básica es la siguiente:

CREAR index_name ÍNDICE DE LA nombre_tabla;

Un índice separado

El índice se basa en un único índice en una lista creada. La sintaxis básica es la siguiente:

CREATE INDEX index_name
EN nombre_tabla (nombre_columna);

Índice único

El uso de un índice único no es sólo para el rendimiento, sino también a la integridad de los datos. índice único no permite ningún valores duplicados en la tabla. La sintaxis básica es la siguiente:

CREATE UNIQUE INDEX index_name
on table_name (column_name);

índice compuesto

índice de composición se basa en dos o más columnas de una tabla creada. La sintaxis básica es la siguiente:

CREATE INDEX index_name
en nombre_tabla (column1, columna2);

¿Quieres crear un índice separado es un índice compuesto, teniendo en cuenta la muy frecuentes como sus condiciones de filtro de consulta en las columnas de la cláusula WHERE.

Si el valor de la utilización de una columna, optar por utilizar un índice separado. Si hay un filtro en la cláusula WHERE a menudo utilizan dos o más columnas, entonces optar por utilizar una combinación del índice.

índice implícito

índice implícito es que cuando se crea un objeto, creado automáticamente por el servidor de base de datos. Los índices se crean automáticamente como principal principales limitaciones y restricciones únicas.

Ejemplos

He aquí un ejemplo, vamos a crear un índice en la tabla salarial columna EMPRESA:

sqlite> CREAR salary_index ÍNDICE DE LA EMPRESA (salario);

Ahora, vamos a usar.indices comando enumera todos los índices disponibles en la mesa EMPRESA de la siguiente manera:

sqlite> .indices EMPRESA

Esto produce los siguientes resultados, quesqlite_autoindex_COMPANY_1índice implícito se crea cuando se crea una tabla.

salary_index
sqlite_autoindex_COMPANY_1

Se pueden listar todos los rangos de base de datos de índice, de la siguiente manera:

sqlite> SELECT * FROM sqlite_master DONDE type = 'índice';

comando DROP INDEX

Un índice puede utilizar el comandoDROP SQLite eliminar.Especial atención debe ser cuando para eliminar el índice, debido a que el rendimiento puede disminuir o aumentar.

La sintaxis básica es la siguiente:

index_name DROP INDEX;

Puede utilizar la siguiente instrucción para eliminar un índice creado anteriormente:

sqlite> DROP INDEX salary_index;

¿En qué circunstancias para evitar el uso del índice?

A pesar de que el índice es mejorar el rendimiento de base de datos, pero aquí hay algunos casos la necesidad de evitar el uso del índice. Cuando se utiliza un índice, las siguientes pautas deben ser reconsiderados:

  • Índice no debe utilizarse en pequeñas mesas.

  • Índice no debe ser utilizado en grandes cantidades no son frecuentes las actualizaciones o la operación de inserción de mesa.

  • Índice no debe ser utilizado en la columna contiene un gran número de valores NULL.

  • Índice no debe ser utilizado en una operación frecuente de la columna.