¿Cómo indexo una columna en PostgreSQL??

¿Cómo indexo una columna en PostgreSQL??
Una base de datos PostgreSQL en particular o cualquier otra base de datos, en general, puede contener múltiples tablas en ella. Estas tablas consisten en diferentes columnas o atributos contra los cuales se almacenan diferentes filas o registros. De esta manera, los datos se guardan en una base de datos. Al indexar una columna en PostgreSQL, esencialmente significamos crear una estructura de datos a través de la cual podemos hacer referencia a los valores de esa columna de manera mucho más eficiente en lugar de pasar por todos los valores de esa columna manualmente. En este artículo, primero discutiremos la necesidad de indexar una columna en PostgreSQL en Windows 10 seguido del método de hacerlo.

Necesidad de indexar una columna en PostgreSQL en Windows 10:

Ya hemos mencionado que indexar una columna hace que el proceso de búsqueda de esa columna sea aún más rápido y eficiente. Sin embargo, aparte de eso, consideraremos un ejemplo muy simple aquí que justificará la necesidad de indexar una columna en una tabla en PostgreSQL.

Supongamos que tenemos una mesa titulada "Empleado". Esta tabla tiene dos columnas diferentes, a saber, "nombre" y "número" que corresponden al nombre del empleado y al número de empleado respectivamente. Además, esta tabla posee 1000 registros de diferentes empleados. Ahora, queremos ejecutar una consulta que devuelva un registro con el número de un empleado específico.

En este caso, nuestra consulta tendrá que buscar toda la columna de "número" de la tabla "Empleado" hasta que encuentre el número especificado dentro de la consulta ejecutada. Solo entonces, podrá mostrar el registro deseado. Este proceso es bastante largo y requiere mucho tiempo.

Por lo tanto, podemos intentar indexar la columna "número" para que en lugar de buscar secuencialmente la columna completa, el número especificado dentro de la consulta se pueda buscar de manera muy eficiente. Sin embargo, este tipo de indexación de columna no es adecuada para tablas muy pequeñas I.mi., tablas con algunos registros porque solo aumentará el consumo de recursos.

Método de indexación de una columna en PostgreSQL en Windows 10:

Si desea indexar cualquier columna deseada de una tabla dentro de su base de datos PostgreSQL en Windows 10, entonces deberá realizar el procedimiento paso a paso que se analiza a continuación:

Paso # 1: Iniciar el símbolo del sistema Windows 10:

Accederemos al entorno PostgreSQL a través del símbolo del sistema Windows 10 para el cual debemos iniciarlo primero. Puede ver la siguiente imagen para saber cómo iniciar el símbolo del sistema Windows 10.

Paso # 2: Ingresar el entorno PostgreSQL a través del símbolo del sistema Windows 10:

Después de abrir el símbolo del sistema, puede ingresar el entorno PostgreSQL ejecutando el comando que se muestra a continuación:

> PSQL -U Postgres

Después de ejecutar este comando, se le pedirá que ingrese la contraseña para el usuario especificado como se muestra en la siguiente imagen:

Una vez que proporcionará esta contraseña, ingresará el entorno PostgreSQL a través de su símbolo del sistema Windows 10.

Paso # 3: Cree una nueva tabla en PostgreSQL en Windows 10:

Ahora, crearemos una nueva tabla para que podamos indexar una de sus columnas en Windows 10. Se puede crear una tabla en PostgreSQL con la consulta que se muestra a continuación:

# Crear Tabla Empleado (EMP_ID Serial Key primaria, EMP_NAME VARCHAR (255) NO NULL, EMP_NUMBER VARCHAR (255) NO NULL);

Esta consulta creará una tabla llamada "Empleado" en la base de datos actual de PostgreSQL con tres columnas, a saber, "Emp_id, Emp_Name y Emp_Number" respectivamente.

La ejecución exitosa de esta consulta se confirmará una vez que obtengamos la respuesta de "Crear tabla" en nuestra consola como se muestra en la siguiente imagen:

Paso # 4: Comprobación de si la tabla recién creada existe en su base de datos actual o no:

Cuando se ha creado nuestra nueva tabla, podemos verificar su existencia ejecutando el comando que se muestra a continuación:

# \ dt

Este comando intentará mostrar todas las tablas que existen dentro de la base de datos actual. En la lista de estas tablas, también podrá ver nuestra tabla "Empleado" recién creada como se muestra en la siguiente imagen:

Paso # 5: Insertar algunos registros en la tabla recién creada:

Ahora, insertaremos algunos registros de muestra en esta tabla recién creada. Se puede agregar un registro en esta tabla con la ayuda de la consulta que se muestra a continuación:

# inserte en los valores de los empleados (1, 'AQSA', '12345');

Cuando este registro se agregará correctamente a la tabla "Empleado", verá el siguiente mensaje de éxito en su consola:

De la misma manera, agregaremos múltiples registros a la tabla "Empleado" como se muestra en la imagen a continuación:

Paso # 6: Ver la tabla recién poblada:

Después de poblar nuestra tabla de "empleado", podemos verla ejecutando la siguiente consulta adjunta:

# seleccionar * del empleado;

Esta consulta mostrará todos los registros de la tabla "Empleado" en la consola como se muestra en la imagen a continuación:

Paso # 7: Ejecución de una consulta de prueba en la tabla recién creada:

Ahora, ejecutaremos una consulta de prueba en la tabla recién creada para mostrar un registro con cierto número. Esta consulta es la siguiente:

# seleccionar * del empleado donde emp_number = '24943';

Esta consulta mostrará instantáneamente el registro seleccionado como se muestra en la imagen a continuación:

Paso 8: Vea el plan de consulta para la consulta que acaba de ejecutar:

Aunque la consulta mencionada anteriormente se ha ejecutado con éxito, sin embargo, para llevar el resultado deseado a la consola, toda la columna "EMP_Number" de la tabla "Empleado" se habría buscado secuencialmente. Puede verificar esto ejecutando la siguiente consulta para mostrar el plan de consulta:

# Explicar select * del empleado donde emp_number = '24943';

Puede ver en la imagen que se muestra a continuación que la consulta especificada se ejecutó buscando secuencialmente la columna "Emp_Number" de la tabla "Empleado". Las búsquedas secuenciales no son buenas para tablas con una gran cantidad de registros. Para resolver este problema, intentaremos indexar la columna "Emp_Number" realizando el siguiente paso.

Paso # 9: Creación de un índice para una columna de la tabla creada:

Para crear un índice para una columna de una tabla en PostgreSQL en Windows 10, puede ejecutar la siguiente consulta:

# Crear índice index_emp_number en el empleado (emp_number);

Esta consulta creará un índice llamado "index_emp_number" para la columna "Emp_Number" de la tabla "Empleado". La ejecución exitosa de esta consulta dará como resultado el mensaje de éxito que se muestra a continuación:

Paso # 10: enumerar todos los índices de la tabla deseada:

Ahora, para verificar si dicho índice se ha creado o no, puede ejecutar el siguiente comando:

# \ d Empleado

La salida que se muestra en la imagen que se muestra a continuación ha resaltado el índice recién creado.

Eliminar un índice de una columna en PostgreSQL en Windows 10:

Si desea eliminar un índice de una columna de una tabla en PostgreSQL en Windows 10, puede ejecutar la siguiente consulta:

# Drop Index index_emp_number;

Cuando el índice especificado se eliminará con éxito, obtendrá la respuesta del índice de caída en la consola como se muestra en la imagen a continuación:

Conclusión:

Al leer todos los pasos del método explicado en este artículo, podrá comprender muy rápidamente cómo funciona la indexación de columnas en PostgreSQL en Windows 10. Después de enterarse de eso, podrá indexar tantas columnas de sus tablas en PostgreSQL como desee.