Índices de show sqlite

Índices de show sqlite
“Un índice es un tipo de estructura de datos que integra y optimiza los valores de una columna (o columnas) para buscar. Los índices (o índices) son exclusivos de las búsquedas de bases de datos, ya que permiten que ciertas filas en una tabla se encuentren sin escanear toda la tabla. Como resultado, los índices pueden mejorar significativamente el rendimiento de algunas consultas. Los índices siempre están asociados con una sola tabla; Sin embargo, pueden comprender muchas columnas de la tabla.Normalmente, los índices permiten valores duplicados; Sin embargo, la palabra clave única evita que los valores duplicados se inserten o se actualicen en una tabla con un valor no único. Debido a que NULL no se considera un valor, un índice único no evitará que aparezcan uno o más nulos. Debe especificar no nulo en la definición de tabla inicial para evitar nulos.

Cuando deja caer un índice, se elimina de la base de datos, pero la tabla con la que está asociada no se ve afectada.

Con un ejemplo, aprenderemos qué índices están en SQLite, cómo establecer índices en una sola o muchas columnas en SQLite, y cómo eliminar o soltar los índices SQLite; Entonces, discutiremos cómo mostrarlos en SQLite."

Sintaxis de los índices SQLite

Create [único] índice [si no existe] index_name en table_name (columnas ... n);

La instrucción Crear índice se usa en la sintaxis anterior para construir un nuevo índice; El nombre del índice proporcionado se refiere a un nombre de índice específico que necesitamos generar. Las palabras clave en e índice son palabras clave, y la tabla especificada se refiere a una tabla existente con un nombre de columna.

Si tenemos más de un campo y esos datos deben definirse de manera única para que podamos usar la palabra clave única, podemos usar la palabra clave única; Una cláusula única es un componente opcional de esta sintaxis.

Puntos clave del índice SQLite

  • El uso de un índice acelera las búsquedas seleccionadas y dónde las cláusulas; Sin embargo, desacelera la entrada de datos en las operaciones de actualización e inserto. No hay influencia en los datos cuando se crean o eliminan los índices.
  • Se crea un índice con la declaración Crear índice. Le permite nombrar el índice, proporcionar la tabla y qué índice de columnas o columnas, y definir si el índice debe estar en orden ascendente o descendente.
  • Los índices también son únicos, de la misma manera que la restricción única prohíbe los registros duplicados en la columna o colección de columnas en las que se crea el índice.

¿Cómo funcionan los índices en SQLite?

Se debe conectar una tabla específica con cada índice. Un índice puede incluir uno o incluso más campos, pero todos deben estar en la misma tabla. Se pueden encontrar varios índices en una tabla.

SQLite proporciona una estructura de árbol B para almacenar datos de índice cada vez que agrega un índice. Los índices en SQLite se organizan utilizando el método B-Tree. El árbol B es un árbol equilibrado en lugar de un árbol binario, ya que el B significa equilibrado.

El índice comprende valores de las columnas que definimos en el índice, así como el valor ROW_ID para cada una de esas columnas. SQLite ahora puede localizar rápidamente la fila utilizando las entradas de los campos indexados.

Imagine un índice de base de datos similar a un índice de libros. Podemos ubicar rápidamente varias páginas en función de las palabras clave buscando a través del índice.

¿Cuándo no se deben usar los índices??

Aunque los índices están destinados a mejorar la eficiencia de la base de datos, hay situaciones en las que no se deben tener en cuenta. ¿Cuándo se debe usar un índice?? Los siguientes factores pueden ayudarlo a tomar su decisión.

No se recomienda utilizar índices en:

  • Mesas con una pequeña huella
  • Tablas que se actualizan o se insertan en enormes lotes con frecuencia.
  • Columnas nulas pesadas.
  • Columnas modificadas frecuentemente.

Ejemplo 1

Primero, debemos construir la tabla para ver sus índices. Hemos mostrado una tabla a continuación, que hemos creado con el comando Crear en SQLite y también los campos definidos de esta tabla.

Crea Table Story_books (
book_id int primaria ,
book_name char (10) ,
book_price flaot
);

Ahora, hemos creado un índice de una sola columna. Se construye un índice de una columna alrededor de una sola columna de base de datos. Podemos pasar varias columnas a la vez para crear índices de una tabla en particular. Hemos dado un solo nombre de campo book_name de la tabla story_books en la siguiente consulta.

# Crear índice idx_story_books_book en Story_books (book_name);

Mediante el uso del .Método de índices, el índice creado en la tabla se puede ver de la siguiente manera:

Se utilizan índices únicos para la integridad de los datos y el rendimiento. Un índice único evita que los valores duplicados se ingresen en la tabla. Usando la siguiente consulta, hemos creado un índice único en la columna Book_id de la tabla de Story_book.

Crear un índice único idx_book_id
En story_books (book_id);

La salida muestra que el índice se ha creado con éxito.

Hemos creado un índice selectivo en una tabla Story_book al incluir solo una parte de los registros en el índice. Como utilizamos una cláusula WHERE, solo aquellos registros donde el book_price no es nulo obtiene un índice parcial. Los registros con un valor nulo para book_name no serán parte del índice.

Crear índice idx_book_price
En story_books (book_price)
Donde book_price no es nulo;

Al ejecutar el .Comando de índices, muestra los índices en la tabla. Como puede ver, se incluye ese índice book_price.

Ejemplo 2

El comando de caída de Sqlite se usa para eliminar un índice. Se debe hacer un índice con precaución porque la funcionalidad puede verse afectada. Aquí, con el comando de caída, tenemos una cláusula si existen. Si el índice elegido no existe, no se generará excepción. No es obligatorio usar la cláusula if exists; Podemos omitir esto y simplemente dejar caer la mesa. Hemos dejado caer el índice book_name de la tabla story_book por la siguiente consulta.

Drop Index si existe IDX_STORY_BOOKS_BOOK_NAME;

El índice con la columna book_name se elimina como se muestra en el shell.

Ejemplo 3

Hemos usado la tabla sqlite_master en lugar de usar el .Comando de índices. Aunque esta tabla contiene más que simplemente índices, puede usar la cláusula WHERE para limitarla solo a los índices.

SELECCIONAR
Nombre, TBL_NAME
…> De SQLite_Master
…> Where type = 'index';

Tenemos la tabla a la que corresponde cada índice. La columna TBL_NAME realiza un seguimiento de esto de la siguiente manera.

Conclusión

En esta sección, hemos repasado los conceptos básicos de establecer un índice en SQLite y discutir cómo mostrar que los índices en SQLite con algunos ejemplos. Estos ejemplos son fáciles de usar y también las formas en que muestran los índices en el SQLite. Cuando lees el artículo completo, es posible que sea extremadamente claro.