SQLITE Crear índice

SQLITE Crear índice

Un índice es una herramienta de datos específica para organizar y optimizar la información para una columna completa para consultar. Los índices (o índices) son exclusivos de la búsqueda de bases de datos, ya que permiten que ciertas filas en un registro se encuentren sin necesidad de escanear toda la tabla. Como resultado, los índices pueden dar a algunas operaciones una ganancia de rendimiento significativa. Los índices generalmente están conectados con una sola tabla, aunque pueden comprender varias columnas de esa tabla.

Por lo tanto, hemos decidido cubrir el tema de los índices utilizados dentro de SQLite en este artículo hoy. Comencemos con la base de datos SQLite en nuestro shell terminal recién lanzado. Para esto, pruebe el comando de una palabra en el área de consulta, yo.mi., "Sqlite3". Se lanzará la consola SQLite Shell, como se muestra a continuación:

Después de lanzar el shell SQLite, hemos utilizado el ".instrucción de tablas ”en su shell para mostrar todas las tablas ya hechas de nuestra base de datos.

Por lo tanto, necesitamos al menos una tabla dentro de nuestra base de datos para crear índices en sus columnas. Entonces, estamos probando la instrucción Crear tabla que creará una tabla llamada "Información". Esta tabla contendrá un total de tres columnas dentro de ella. La columna de identificación y la columna de edad serán de tipo entero, mientras que la columna de identificación se utilizará como clave principal de esta tabla. La columna de nombre será de tipo de texto. La tabla se ha creado con éxito y hemos probado la instrucción selecta para obtener todos sus registros. Desafortunadamente, hasta ahora no hay registros en la mesa.

sqlite> Crear información de tabla (ID int primario clave, texto de nombre, edad int);
sqlite> seleccionar * de información;
sqlite>.mesas

Comencemos a insertar varios registros en la información de la tabla utilizando la instrucción Insertar en la base de datos SQLite. Para esto, debe especificar los nombres de las columnas de tabla utilizadas para insertar registros, I.mi., ID, nombre y edad. Los nombres de la columna serán seguidos por la palabra clave "valores" utilizando los valores dentro de los soportes. Hemos agregado cinco registros dentro de la tabla "Información".

sqlite> insertar en información (id, nombre, edad) valores (1, "bella", 34);
sqlite> insertar en información (id, nombre, edad) valores (2, "bella", 23);
sqlite> insertar en información (id, nombre, edad) valores (3, "George", 26);
sqlite> insertar en información (id, nombre, edad) valores (4, "George", 29);
sqlite> insertar en información (id, nombre, edad) valores (5, "EMA", 30);

Después de eso, utilizamos la instrucción Seleccionar para mostrar todos los registros recién insertados de la información de la tabla. Los cinco registros para la identificación de columnas, el nombre y la edad de una tabla se han mostrado en el shell.

sqlite> seleccionar * de información;

Como todos sabemos, la columna de identificación de la tabla "Info" ya se especifica como una clave principal. Por lo tanto, verificaremos cómo reaccionará una restricción clave principal a la inserción del valor duplicada. Por lo tanto, hemos estado utilizando la instrucción Insertar para insertar nuevos registros dentro de la tabla "Información", mientras que el valor para la columna "ID" es 5, I.mi., repetido. La ejecución de esta declaración conduce al error "Falló de restricción única: información.IDENTIFICACIÓN". Esto significa que no podemos agregar un valor duplicado para la columna "ID".

sqlite> insertar en información (id, nombre, edad) valores (5, "tom", 35);

Índice único

Creemos un solo índice en una columna particular de una tabla de información. Para esto, debe utilizar la instrucción Crear índice seguido del nombre de un índice a crear, I.mi., edad_index, la palabra clave "encendida", el nombre de una tabla, yo.mi., "Información" seguido del nombre de la columna, yo.mi., "Edad" en la que aplicaremos el índice. Después de crear un índice "Age_Index" para la columna "Edad", hemos insertado el nuevo registro dentro de la información de la tabla utilizando el inserto en instrucción. Hemos estado repitiendo el valor de la columna "edad" en esta instrucción, yo.mi., 30. Al buscar todos los registros de una tabla "información", tenemos los siguientes registros:

sqlite> crear índice age_index en información (edad);
sqlite> insertar en información (id, nombre, edad) valores (6, "EMA", 30);
sqlite> seleccionar * de información;

Se ha hecho lo mismo para la columna "nombre", yo.mi., creó un índice "name_index". A continuación, insertamos el registro duplicado para la columna "Nombre" utilizando la instrucción Insertar en la instrucción y mostramos todos los registros de la tabla "Información".

sqlite> crear índice name_index en información (nombre);
sqlite> insertar en información (id, nombre, edad) valores (7, "EMA", 20);
sqlite> seleccionar * de información;

Puede enumerar todos los índices recién creados de su base de datos utilizando el ".Instrucción de índices "junto con el nombre particular de una tabla," información ", que contiene o usa esos índices.

sqlite> .Información de índices

Índice compuesto

Si crea un índice para más de una columna de una tabla específica, se dice que es el índice compuesto. Por lo tanto, hemos estado creando un índice compuesto "comp_index" para el nombre de las columnas y la edad de una tabla "información" utilizando la instrucción Crear índice que se muestra en la imagen. Cuando intentamos insertar registros duplicados dentro de la columna de nombre y edad de la tabla "información" con la instrucción Insertar en la instrucción, devolvió el error "Falló de restricción única".

sqlite> crear índice comp_index en información (nombre, edad);
sqlite> insertar en información (id, nombre, edad) valores (7, "bella", 23);

Por lo general, los índices ofrecen la posibilidad de crear entradas duplicadas. Sin embargo, la palabra clave única evita que los valores repetidos se insertan o se actualicen en un registro con una entrada no unique. Es posible que un índice único no prohíba uno o nulos adicionales ya que NULL no se considera un valor. No se debe especificar nulo en la declaración de tabla inicial para evitar nulos. Creemos un índice único en la columna "ID" de una información de tabla con la instrucción Crear índice. Tenemos siete registros para la tabla "información" de esta base de datos. Entonces, probamos el inserto en instrucción para agregar el valor duplicado para la columna de ID de una tabla. Devolvió el mismo error de "restricción única fallida" en nuestra pantalla.

sqlite> crear un índice único uindex en info (id);
sqlite> seleccionar * de información;
sqlite> insertar en información (id, nombre, edad) valores (7, "ana", 19);

Creemos una nueva tabla, "prueba", con dos columnas ID y edad, sin claves primarias. Después de eso, creamos un índice único, "único_index", en sus columnas y agregamos dos registros únicos y un registro duplicado con la inserción en instrucción. El tercer registro lanza un error porque los valores de ambas columnas se han repetido.

sqlite> create table test (id int, age int);
sqlite> crear un índice único un único_index en la prueba (id, edad);
sqlite> insertar en valores de prueba (ID, edad) (1, 23);
sqlite> insertar en valores de prueba (id, edad) (2, 24);
sqlite> insertar en valores de prueba (id, edad) (2, 24);

Conclusión:

Este artículo fue sobre el uso de diferentes índices de las columnas de la tabla. Discutimos los usos de los índices e intentamos crear los índices únicos, compuestos y únicos en diferentes columnas de tabla con la instrucción Crear índice al final.