Saltar al contenido principal
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Uso de índices

Los índices son estructuras de datos que permiten a la base de datos localizar filas sin escanear toda la tabla. Sin un índice, una consulta debe examinar cada fila para encontrar coincidencias. Con un índice, la base de datos puede saltar directamente a las filas relevantes, reduciendo drásticamente el número de filas examinadas.

Los índices aceleran las operaciones de lectura pero añaden sobrecarga a las escrituras (inserciones, actualizaciones, eliminaciones) porque el índice debe mantenerse sincronizado, por lo que deben crearse con cuidado y solo cuando sean necesarios.

Buenos candidatos para índices son las columnas usadas frecuentemente en cláusulas WHERE, uniones (joins) y ordenamientos. Cuando se usan varias columnas como filtro, puede ser útil crear un índice compuesto, pero recuerda que el orden de las columnas importa: coloca primero las más selectivas (con valores más únicos).

Análisis del rendimiento de consultas

La mayoría de bases de datos permiten inspeccionar cómo se ejecuta una consulta, lo que se llama plan de ejecución. Entender este plan te ayuda a identificar índices faltantes y optimizar la construcción de consultas comparando distintas formas de obtener los mismos datos.

CockroachDB

Use EXPLAIN ANALYZE (same syntax as PostgreSQL):

EXPLAIN ANALYZE SELECT * FROM "user" WHERE "firstName" = 'Timber';

Look for full scan (no index) vs scan with a specific index name.

Learn more

Definición de índices en TypeORM

TypeORM permite crear índices en columnas de tablas usando el decorador @Index.

import { Entity, PrimaryGeneratedColumn, Column, Index } from "typeorm"

@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number

@Column()
@Index()
email: string

@Column()
firstName: string
}

Para una visión completa de los tipos de índices (únicos, espaciales, fulltext, concurrentes, etc.), consulta la guía de Índices.

Una indexación adecuada suele ser la mejora de rendimiento más significativa: comienza analizando tus consultas más lentas con las herramientas de plan de ejecución mencionadas, luego añade índices donde más impacto tengan.