Si tratta di una tabella FACT in un data warehouseindicizzazione delle prestazioni BigInt vs VarChar
Ha un indice composto come segue
ALTER TABLE [dbo].[Fact_Data]
ADD CONSTRAINT [PK_Fact_Data]
PRIMARY KEY CLUSTERED
(
[Column1_VarChar_10] ASC,
[Column2_VarChar_10] ASC,
[Column3_Int] ASC,
[Column4_Int] ASC,
[Column5_VarChar_10] ASC,
[Column6_VarChar_10] ASC,
[Column7_DateTime] ASC,
[Column8_DateTime] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON
) ON [PRIMARY]
GO
In questa struttura, tutte le varchar 10 colonne hanno solo valori numerici. Sarà utile per me modificare questa struttura di 78 milioni di righe per contenere BIGINT anziché VARCHAR in termini di query e indicizzazione?
Eventuali altri vantaggi/svantaggi che dovrei prendere in considerazione?
questa è una tabella dei fatti nel mio data warehouse. non ci sono tabelle che usano il PK da questo come un FK. –
@Raj: ah, ok, questo spiega alcune cose - hai dimenticato di dirlo. Ma ancora: hai indici non cluster anche su questa tabella? Quelli sarebbero sicuramente enormemente dotati di una chiave INT primaria o BIGINT primaria/di clustering –
Bigint utilizza 64 bit BITS, ovvero due volte più grande, non 16 volte. – Yrlec