Это FACT Таблица в хранилище данныхИндексация Производительность BigInt против VarChar
Он имеет композитный индекс следующего
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
В этой структуре все из VARCHAR 10 колонка имеет только числовые значения. Будет ли полезно изменить эту 78-миллионную структуру строк для хранения BIGINT вместо VARCHAR с точки зрения запросов и индексирования?
Любые другие преимущества/недостатки, которые я должен учитывать?
это таблица фактов в моем хранилище данных. нет таблиц, использующих PK от этого как FK. –
@ Raj: Ах, хорошо, это объясняет несколько вещей - вы забыли упомянуть об этом. Но все же: у вас есть и некластеризованные индексы на этой таблице? Это определенно сильно связано с наличием одного основного или кластерного ключа INT или BIGINT. –
Bigint использует 64 бита, а не байты, т. Е. Он вдвое больше, а не 16 раз. – Yrlec