Situação
- Armazém de dados no Sql Server 2008 Enterprise
- Mais de 36 milhões de linhas de pilha (não pergunte), com mais de 60 colunas
- 750k adicionados mensalmente
- Nenhuma chave primária definida (agora identifiquei uma)
- Sem compressão
O que estou pensando em fazer (nesta ordem)
- Adicionar compactação no nível da página
- Adicione o PK
- Adicione vários índices não agrupados em cluster
- Faça isso o mais rápido possível
Questão
- Por fim: adiciono o PK ou a compactação de página primeiro? (Isso importa?)
- Se eu adicionar a compactação primeiro à tabela, algum índice herdará as configurações de compactação no nível da tabela? A resposta para esta pergunta em particular é "Não, a compactação não é herdada", encontrada aqui no dba.stackexchange
O que eu estou inclinado no momento
-- Add page level compression
alter table dbo.TableName
rebuild with (data_compression = page)
;
go
-- Add primary key
alter table dbo.TableName
add constraint PK_TableName
primary key clustered (<Columns>)
;
go
-- Add NC_IXs here
...
...
Eu olhei aqui (documentação de criação PK) e aqui (documentação ALTER TABLE) , mas não vejo nada definitivo sobre se algum índice herda ou não as configurações de compactação de tabela. A resposta para esta pergunta em particular é "Não, a compactação não é herdada", encontrada aqui no dba.stackexchange
fonte