4 diferencias destacadas entre tablas de montón y tablas agrupadas en SQL Server

El siguiente artículo explica las diferencias clave entre las tablas de montón y las tablas agrupadas.

Mientras trabaja con tablas en SQL Server, los usuarios a menudo se enfrentan al dilema de utilizar tablas agrupadas o tablas dinámicas. Las tablas que no tienen índices agrupados se denominan tablas de montón y las que tienen índices agrupados se denominan tablas agrupadas. Un índice agrupado básicamente reordena la forma en que los registros se almacenan físicamente en una tabla. Las páginas de datos están contenidas en los nodos hoja de un índice agrupado.

Diferencias entre tablas de montón y tablas agrupadas

El artículo analiza estos dos tipos de tablas de manera más detallada.

Tablas agrupadas y de montón

Las tablas agrupadas brindan a los usuarios más beneficios que las tablas de montón, ya que ayudan a los usuarios a usar índices para encontrar filas más rápido que las tablas de pila y almacenar físicamente los datos / registros reconstruyendo el índice agrupado.

Sus datos físicos pueden fragmentarse si hay más actividades INSERT, DELETE y UPDATE en las tablas de sus datos. Se sabe que los datos fragmentados pueden aumentar el espacio desperdiciado e indeseable porque si ejecuta una consulta, tiene que leer varias páginas más, ya que ahora hay páginas más parcialmente llenas. Descubramos formas de resolver el problema de la fragmentación de los datos.

Diferencia entre montón y tabla agrupada

El problema de fragmentación se puede abordar determinando la necesidad de tener un índice agrupado en su tabla o no. Después de todo, es el índice agrupado o de pila el que regula el almacenamiento físico de su tabla. Cualquier tabla de su base de datos solo puede tener un tipo de índice. Para hacer una elección, debemos comprender las diferencias básicas entre estos dos, que son las siguientes.

  1. En el montón, no hay ningún orden en el almacenamiento de datos, pero en Clustered, el almacenamiento de datos tiene un orden que depende de la clave del índice agrupado. 
  2. Las páginas de datos no están vinculadas en el montón, mientras que en la tabla agrupada, están vinculadas y hay un acceso secuencial más rápido.
  3. El montón tiene 0 valor de index_id y Clustered tiene 1 valor de index_id para la vista de catálogo sys.indexes
  4. El índice agrupado recupera datos más rápido que la tabla de montón, ya que existe una clave de índice agrupado

Fragmentación

Basado en las diferencias entre Clustered y Heap Tables, se puede resolver el problema de la fragmentación. La fragmentación se produce debido al uso de actividades INSERT, DELETE y UPDATE. Sin embargo, si tiene una tabla de montón y solo hay actividad INSERT, no se producirá la fragmentación. Si está utilizando una clave de índice secuencial (valor de identidad) y solo tiene INSERTOS, su índice agrupado no se fragmentará. Pero si usa muchos INSERTS o DELETES, las tablas se fragmentarán.

Por lo tanto, se recomienda utilizar el índice agrupado, ya que depende de la clave del índice y consume menos espacio. Se pueden escribir nuevos registros en páginas ya existentes en el espacio libre disponible.

Para determinar el uso de una tabla agrupada o de pila, también puede intentar ejecutar DBCC SHOWCONTIG o un DMV nuevo, ya que ambos comandos pueden brindarle información sobre los problemas de fragmentación en sus tablas. En la tabla agrupada, la fragmentación se puede resolver reorganizando o reconstruyendo su índice agrupado.    

Invertir en un SQL Server reparación La herramienta es imprescindible para las empresas que utilizan MS. SQL Server base de datos en sus servidores de producción. De hecho, puede resultar un salvavidas en caso de que se bloquee la base de datos.

Introducción del autor:

Victor Simon es un experto en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo reparar mdb y productos de software de recuperación de sql. Para más información visite https://www.datanumen.com/

Una respuesta a "4 diferencias destacadas entre tablas de montón y tablas agrupadas en SQL Server"

Deje un comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *