Así que permítanme comenzar diciendo que no tengo control total sobre mi diseño de base de datos, por lo que muchos de los aspectos del sistema actual no se pueden cambiar para los propósitos de este escenario.
Los comentarios sobre cómo deberíamos repensar aspectos del diseño son probablemente correctos pero inútiles :)
Tengo una tabla muy grande, de aproximadamente 150 campos de ancho y aproximadamente 600m de filas, que impulsa una gran cantidad de procesos. Esto está en una situación de depósito de datos, por lo que no tenemos NINGUNA actualización / inserción fuera del proceso de carga programado, por lo que está muy indexado.
Se tomó la decisión de intentar particionar esta tabla, y tengo algunas preocupaciones sobre la indexación de una tabla particionada. No tengo ninguna experiencia con la partición, por lo que se agradece cualquier entrada o enlace. No pude localizar específicamente lo que busco en BOL o msdn.
Actualmente nos agrupamos en un campo que llamaremos IncidentKey
que es varchar(50)
único y no único: podríamos tener entre 1 y 100 registros con el mismo IK
(sin comentarios, por favor). A menudo obtenemos nuevos datos en IncidentKey
registros antiguos , por lo que tampoco son secuenciales.
Entiendo que necesito incluir mi campo de partición IncidentDate
, en mi clave de índice agrupada para que la partición funcione correctamente. Estoy pensando que lo sería IncidentKey, IncidentDate
.
La pregunta es, ¿cómo funcionará la mecánica de un índice agrupado en una clave de 2 partes en una tabla particionada, si un registro en una partición "nueva" debe estar antes de un registro en una partición "antigua" en el índice agrupado?
Por ejemplo, tengo 5 registros:
IncidentKey Date
ABC123 1/1/2010
ABC123 7/1/2010
ABC123 1/1/2011
XYZ999 1/1/2010
XYZ999 7/1/2010
Si obtengo un nuevo registro ABC123, 2/1/2011
, deberá estar en el índice agrupado ANTES XYZ999, 1/1/2010
. ¿Como funciona esto?
Asumo fragmentación y punteros, pero no puedo encontrar ninguna información sobre el almacenamiento físico y la configuración de índices agrupados no particionados en tablas particionadas con claves de dos partes.