Usando índices columnstore não clusterizados

Descreve as principais tarefas para usar um índice columnstore não clusterizado em uma tabela SQL Server.

Para obter uma visão geral de índices columnstore, consulte Columnstore Indexes Described.

Para obter informações sobre índices columnstore clusterizados, consulte Using Clustered Columnstore Indexes.

Sumário

Criar um índice columnstore não clusterizado

Para carregar dados em um índice columnstore não clusterizado, primeiro carregue os dados em uma tabela rowstore tradicional armazenada como um índice clusterizado ou heap e, em seguida, use CREATE COLUMNSTORE INDEX (Transact-SQL) para criar um índice columnstore.

Carregando dados em um índice columnstore

Alterar os dados em um índice columnstore não clusterizado

Quando você cria um índice columnstore não clusterizado em uma tabela, não pode modificar diretamente os dados nessa tabela. Uma consulta com INSERT, UPDATE, DELETE ou MERGE falhará e retornará uma mensagem de erro. Para adicionar ou modificar os dados na tabela, siga um destes procedimentos:

  • Desabilite o índice columnstore. Depois, você pode atualizar os dados na tabela. Se você desabilitar o índice columnstore, poderá recriar o índice columnstore quando concluir a atualização dos dados. Por exemplo:

    ALTER INDEX mycolumnstoreindex ON mytable DISABLE;
    -- update mytable --
    ALTER INDEX mycolumnstoreindex on mytable REBUILD
    
  • Remova o índice columnstore, atualize a tabela e recrie o índice columnstore com CREATE COLUMNSTORE INDEX. Por exemplo:

    DROP INDEX mycolumnstoreindex ON mytable
    -- update mytable --
    CREATE NONCLUSTERED COLUMNSTORE INDEX mycolumnstoreindex ON mytable;
    
    
  • Carregar dados em uma tabela de preparação sem um índice columnstore. Criar um índice columnstore na tabela de preparo. Alternar a tabela de preparo para uma partição vazia da tabela principal.

  • Alternar uma partição da tabela com o índice columnstore para uma tabela de preparo vazia. Se houver um índice columnstore na tabela de preparo, desabilite o índice columnstore. Executar quaisquer atualizações. Criar (ou recriar) o índice columnstore. Alternar a tabela de preparo para a partição anterior (não vazia) da tabela principal.