Volver a la Biblioteca de Manuales
Compartir:
🗄️ SQL & Bases de Datos

SQL Server de Alto Rendimiento: Estrategia de Índices Clustered y Non-Clustered para Millones de Registros

Ing. Juancito Peña
Ing. Juancito Peña
• 2026-10-20• 8 min de lectura• 167 lecturas

Elimina cuellos de botella y Table Scans en SQL Server. Guía profunda sobre estadísticas de índices, planes de ejecución y reducción de bloqueos en producción.

Publicidad Patrocinada Oficial
Google AdSense In-Article Responsive Ad [pub-9295851912363434]

1. Estructura de Almacenamiento B-Tree en SQL Server

En SQL Server, las tablas sin índice agrupado se almacenan como montones desordenados (*Heaps*). Al definir un Clustered Index, las páginas de datos físicas de 8 KB se ordenan conforme a la clave seleccionada:

2. Eliminación Radical de Key Lookups con INCLUDE

Un Key Lookup ocurre cuando el motor encuentra las filas en un índice secundario pero debe saltar a la tabla base para recuperar columnas adicionales. El uso de la cláusula INCLUDE crea índices cubrientes (*Covering Indexes*):

indice_covering_optimizado.sqlsql
-- ==============================================================
-- Optimización: Creación de Índice Non-Clustered con Columnas INCLUDE
-- Evita Key Lookups masivos sobre tablas de millones de transacciones
-- Autor: Ing. Juancito Peña (DataIADev.com)
-- ==============================================================
CREATE NONCLUSTERED INDEX IX_FactVentas_Fecha_Cliente
ON dbo.FactVentas (FechaOrden ASC, ClienteID ASC)
INCLUDE (MontoNeto, ImpuestoTotal, MetodoPagoID)
WITH (
    FILLFACTOR = 90, 
    DATA_COMPRESSION = PAGE,
    ONLINE = ON (WAIT_AT_LOW_PRIORITY (MAX_DURATION = 1 MINUTES, ABORT_AFTER_WAIT = SELF))
);
DataIADev.comIng. Juancito Peña — Arquitecto de Software
Alerta de Rendimiento:

Establezca siempre un FILLFACTOR = 90 en tablas con alta tasa de inserción para reservar un 10% de espacio libre en las páginas hoja y evitar la fragmentación prematura (*Page Splits*).

Masterclass en Video en YouTube

¿Te gustó este manual?Reacciona en 1 clic:
¿Te resultó útil? Comparte con colegas de software y analítica:
Compartir:

¿Te sirvió este tutorial técnico? ☕

Tu aporte voluntario impulsa la creación de nuevos manuales gratuitos, plantillas .PBIX optimizadas y formación de ingeniería para la comunidad.

Compatible con transferencias directas en República Dominicana (BHD, Banreservas, Banco Popular) y PayPal.

Ing. Juancito Peña

Ing. Juancito Peña

Suscribirse a YouTube

Arquitecto de Soluciones IA, Business Intelligence & Software Enterprise

Ingeniero de Software y Arquitecto de Datos enfocado en Inteligencia Artificial, Power BI de alta precisión y desarrollo de sistemas empresariales escalables. Director y Fundador de DataIADev.com.

Comentarios & Preguntas Técnicas (2)

Moderación activa

¿Tienes dudas o comentarios sobre este manual? Escríbenos:

Protegido contra spam
Carlos Mendoza
Carlos Mendoza
Hace 2 días

Excelente explicación sobre la transición de contexto y el orden de evaluación en VertiPaq. Me resolvió una discrepancia de cálculo en un modelo financiero.

Ing. Juancito Peña
Ing. Juancito Peña Autor
Hace 1 día

¡Un gusto Carlos! Recuerda siempre aplicar KEEPFILTERS en ese tipo de filtros cruzados para no sobreescribir el filtro externo del usuario.