Krypton Solid

La última tecnología en raciones de 5 minutos

Las mejores estrategias de indexación de SQL Server

Los índices adecuados pueden marcar una gran diferencia en el rendimiento. SQL Server solo admite dos tipos de índice para …

la mayoría de los tipos de datos: agrupados y no agrupados. SQL Server también admite índices de texto completo e índices XML, pero estos son relevantes solo para tipos de datos específicos.

Es fundamental elegir la columna o el conjunto de columnas adecuados para su índice agrupado. La razón es que los datos de la tabla están ordenados físicamente por los valores de la columna o columnas de índice agrupadas. Puede crear solo un índice agrupado en cada tabla. Los índices no agrupados hacen referencia a las claves de índice agrupadas (valores de datos) para determinar la ubicación física de cada registro.

Se recomienda que cree el índice agrupado en las columnas que no cambian con frecuencia, son muy selectivas y tienen tipos de datos ajustados. En muchos casos, el índice agrupado en una columna de identidad es la mejor opción porque los valores de identidad son altamente selectivos (cada registro tiene un valor de identidad único) y nunca se actualizan y se crean utilizando tipos de datos SMALLINT, INT o BIGINT.

Sin embargo, no es raro encontrar una tabla que nunca se consulta en función de su columna de identidad. Si es así, considere cuidadosamente cómo se recuperan comúnmente los datos, tal vez mediante una clave externa a otra tabla o mediante una columna de caracteres. A menudo, puede mejorar el rendimiento creando el índice agrupado en la columna o el conjunto de columnas que se utiliza con más frecuencia para recuperar los datos.

A algunos desarrolladores les gusta crear índices agrupados compuestos. Estos abarcan varias columnas, una combinación de las cuales identifica de forma única a cada

registro. Esto puede parecer una buena práctica porque la columna de identidad no tiene ningún significado comercial, mientras que otras columnas, como la fecha de contratación, el nombre del departamento y el número de identificación del vehículo, definitivamente se traducen en algo inmediatamente conocido por los usuarios de la aplicación. Sin embargo, desde una perspectiva de rendimiento, debe evitar los índices agrupados compuestos.

Una vez más, cuanto más reducido sea el índice, más rápido SQL Server podrá escanearlo o buscarlo. Puede encontrar que para un conjunto de datos pequeño, los índices compuestos funcionan relativamente bien. Pero a medida que aumenta el número de usuarios, es probable que encuentre problemas.

Una vez que vea los beneficios de rendimiento de la creación de índices adecuados, puede pensar que su trabajo está terminado. Pero a medida que se agregan, modifican y eliminan datos de las tablas, los índices respectivos se fragmentan. Cuanto mayor sea la fragmentación, menos efectivos serán sus índices. Ahora deberá implementar un plan para eliminar la fragmentación de sus índices para asegurarse de que sigan siendo efectivos.

Con versiones anteriores de SQL Server, la eliminación de la fragmentación de índices grandes (tablas con muchos millones de filas) a menudo requería tiempo de inactividad. Afortunadamente, SQL Server 2005 admite reconstrucciones de índices en línea que hacen su vida considerablemente más fácil. Sin embargo, tenga en cuenta que la reconstrucción de índices aún requiere recursos del sistema y espacio en una base de datos tempdb. Si es posible, programe el mantenimiento del índice durante los períodos de actividad mínima del usuario.

Este consejo se extrajo de Diseñar bases de datos para mejorar el rendimiento.

Los arquitectos y administradores de bases de datos de SQL Server tienen muchas opciones que tomar si quieren que sus aplicaciones funcionen bien desde el principio. Para garantizar un rendimiento exitoso de la base de datos, es importante tomar buenas decisiones durante la fase de diseño. En esta edición de SQL Server INSIDER, el experto Baya Pavliashvili analiza cómo tomar decisiones de diseño de bases de datos que optimizarán el rendimiento. Diseñe una base de datos que contenga lo siguiente:

?? Modelos de datos
?? Tipos de datos
?? Estrategias de indexación
?? Módulos de código
?? Opciones de alta disponibilidad

Descargar este número

SOBRE EL AUTOR
Baya Pavliashvili
es un consultor de bases de datos que ayuda a sus clientes a desarrollar aplicaciones escalables y de alta disponibilidad con SQL Server y Analysis Services. A lo largo de su carrera ha dirigido equipos de administradores de bases de datos y bases de datos de calibre terabyte. Las principales áreas de especialización de Baya son el ajuste del rendimiento, la replicación y el almacenamiento de datos. Se le puede contactar en [email protected]

Deja un comentario

También te puede interesar...

Las seis C de la VoIP móvil para empresas

Comentario –Según un informe de Frost & Sullivan publicado en mayo de este año, los próximos cinco años verán un enorme aumento en la demanda de servicios de VoIP móviles, de $ 605,8 millones en

Cómo conectar tu móvil Samsung a tu Mac

¿Acaba de cambiar de una PC con Windows a una Mac y tiene dificultades para conectar un teléfono inteligente Samsung a su computadora? ¿Qué sucedió? Déjame adivinar… Apuesto a que cuando conectas tu teléfono a

Definición del Sistema Económico Mixto

¿Qué es un sistema económico mixto? Un sistema económico mixto es un sistema que combina ambos aspectos del capitalismo y el socialismo. Un sistema económico mixto protege la propiedad privada y permite un nivel de

Cómo cambiar la contraseña Alicia | Krypton Solid

Al intentar configurar el enrutador de Alice para abrir puertos de uTorrent, ¿ha notado que no se ha establecido ninguna contraseña para proteger el acceso a la configuración de su dispositivo? Querrías Cambia tu contraseña

Definición de saltos con armas.

Gun jumping, o más comúnmente «gun jumping», se refiere al uso selectivo de información financiera que no ha sido divulgada públicamente. Se pueden identificar al menos dos tiroteos ilegales: La solicitud de una orden de

¿Qué es Google Cloud Dataproc?

Google Cloud Dataproc es un servicio administrado para procesar grandes conjuntos de datos, como los que se utilizan en iniciativas de macrodatos. Dataproc es parte de Google Cloud Platform, la oferta de nube pública de

IPhone bien viajado | Krypton Solid

¿Estoy loco o mi iPhone ha viajado de un lado a otro de Shenzhen, China, y de regreso antes de llegar al sur de California? iPhoneDevCamp Recibí la primera página de la página comercial. cubierta

Telstra está a favor de los accionistas

El director de operaciones de Update Telstra, Greg Winn, ha negado que la compañía de telecomunicaciones sea inflexible en su decisión de no implementar una red de nodo de fibra (FTTN) hasta que obtenga el

Cómo comprar Minecraft | Krypton Solid

Después de descargar la versión de prueba de Minecraft, ¿te gustaría comprar la versión completa del juego, pero no sabes cómo hacerlo? ¿No está seguro de qué métodos de pago admite el fabricante? No hay

El cibercafé tiene 10 años

Es hora de una guía cruda para los mejores del mundo. Los mejores lugares del mundo para navegar por Internet han sido revelados en Yahoo! Premios Mail Internet Café, que marcan el décimo aniversario del