Criar, modificar e remover índices espaciais

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure

Um índice espacial pode executar determinadas operações com mais eficiência em uma coluna do tipo de dados de geometry ou geography (uma coluna espacial). Mais de um índice espacial pode ser especificado em uma coluna espacial. Por exemplo, isto é útil para indexar diferentes parâmetros de mosaico em uma única coluna.

Há várias restrições na criação de índices espaciais. Para obter mais informações, consulte Restrições em índices espaciais neste tópico.

Observação

Para obter informações sobre a relação de índices espaciais com a partição e os grupos de arquivos, consulte a seção "Comentários" em CREATE SPATIAL INDEX (Transact-SQL).

Criando, modificando e removendo índices espaciais

Para criar um índice espacial

Para criar um índice espacial com o Transact-SQL
CREATE SPATIAL INDEX (Transact-SQL)

Para criar um índice espacial usando a caixa de diálogo Novo Índice no Management Studio

Para criar um índice espacial no Management Studio
  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server e expanda-a.

  2. Expanda Bancos de Dados, expanda o banco de dados que contém a tabela com o índice especificado e expanda Tabelas.

  3. Expanda a tabela para a qual você deseja criar o índice.

  4. Clique com o botão direito do mouse em Índices e selecione Novo Índice.

  5. No campo Nome do índice , digite um nome para o índice.

  6. Na lista suspensa Tipo de índice , selecione Espacial.

  7. Para especificar a coluna espacial que você deseja indexar, clique em Adicionar.

  8. Na caixa de diálogo Selecionar Colunas de<nome da tabela>, selecione uma coluna do tipo geografia ou geometria marcando a caixa de seleção correspondente. Todas as outras colunas espaciais se tornam não editáveis. Para selecionar uma coluna espacial diferente, primeiro desmarque a coluna selecionada no momento. Quando terminar, clique em OK.

  9. Verifique a seleção da coluna na grade Colunas de chave de índice .

  10. No painel Selecionar uma página da caixa de diálogo Propriedades do Índice , clique em Espacial.

  11. Na página Espacial , especifique os valores que você deseja usar para as propriedades espaciais do índice.

    Ao criar um índice em uma coluna de tipo geometry, você deve especificar as coordenadas (X-min,Y-min) e (X-max,Y-max) da caixa delimitadora. Para obter um índice em uma coluna de tipo geography , os campos da caixa delimitadora se tornam somente leitura após você especificar o esquema de mosaico Grade geográfica porque o mosaico de grade geográfica não usa uma caixa delimitadora.

    Opcionalmente, é possível especificar valores não padrão para o campo Células por Objeto e para a densidade da grade em qualquer nível do esquema de mosaico. O número padrão de células por objeto é 16 para o SQL Server 2008 (10.0.x) ou 8 para o SQL Server 2012 (11.x) ou superior, e a densidade padrão da grade é Média para o SQL Server 2008 (10.0.x).

    Você pode selecionar GEOMETRY_AUTO_GRID ou GEOGRAPHY_AUTO_GRID para o esquema de tesselação no SQL Server. Quando GEOMETRY_AUTO_GRID ou GEOGRAPHY_AUTO_GRID é selecionado, as opções de densidade de grade Nível 1, Nível 2, Nível 3 e Nível 4 são desabilitadas.

    Para obter mais informações sobre essas propriedades, consulte Index Properties F1 Help.

  12. Clique no OK.

Observação

Para criar outro índice espacial na mesma ou em outra coluna espacial, repita as etapas anteriores.

Para criar um índice espacial usando o Designer de Tabela no Management Studio

Para criar um índice espacial no Designer de Tabela
  1. No Pesquisador de Objetos, clique com o botão direito do mouse na tabela para a qual deseja criar um índice espacial e clique em Design.

    A tabela é aberta no Designer de Tabela.

  2. Selecione uma coluna geometry ou geography para o índice.

  3. No menu Designer de Tabela , clique em Índice Espacial.

  4. Na caixa de diálogo Índices Espaciais , clique em Adicionar.

  5. Selecione o novo índice na lista Índice Espacial Selecionado e, na grade à direita, defina as propriedades do índice espacial. Para obter informações sobre as propriedades, consulte a caixa de diálogo Índices Espaciais (Visual Database Tools).

Para alterar um índice espacial

Para descartar um índice espacial

Para descartar um índice espacial com o Transact-SQL
DROP INDEX (Transact-SQL)

Para descartar um índice usando o Management Studio
Excluir um índice

Para descartar um índice espacial usando o Designer de Tabela no Management Studio

Para descartar um índice espacial no Designer de Tabela
  1. No Pesquisador de Objetos, clique com o botão direito do mouse no índice espacial que você deseja excluir e clique em Design.

    A tabela é aberta no Designer de Tabela.

  2. No menu Designer de Tabela , clique em Índice Espacial.

    A caixa de diálogo Índice Espacial é aberta.

  3. Clique no índice que você deseja excluir na coluna Índice Espacial Selecionado .

  4. Clique em Excluir.

Restrições em índices espaciais

Um índice espacial pode ser criado apenas em uma coluna do tipo geometria ou geografia.

Restrições de tabela e de exibição

Índices espaciais podem ser definidos apenas em uma tabela que tenha uma chave primária. O número máximo de colunas de chave primária na tabela é 15.

O tamanho de máximo de registros de chave de índice é 895 bytes. Tamanhos maiores retornam um erro.

Observação

Metadados de chave primária não podem ser alterados enquanto um índice espacial estiver definido em uma tabela.

Não é possível especificar índices espaciais em exibições indexadas.

Várias restrições de índices espaciais

É possível criar até 249 índices espaciais em qualquer uma das colunas espaciais em uma tabela com suporte. A criação de mais de um índice espacial na mesma coluna espacial pode ser útil, por exemplo, para indexar diferentes parâmetros de mosaico em uma única coluna.

É possível criar apenas um índice espacial de cada vez.

Índices espaciais e paralelismo do processo

Uma criação de índice pode usar o paralelismo de processo disponível.

Restrições de versões

As tesselações espaciais introduzidas no SQL Server 2012 (11.x) não podem ser replicadas no SQL Server 2008 R2 (10.50.x) ou no SQL Server 2008 (10.0.x). Você deve usar as tesselações espaciais do SQL Server 2008 R2 (10.50.x) ou do SQL Server 2008 (10.0.x) para índices espaciais quando a compatibilidade com versões anteriores dos bancos de dados do SQL Server 2008 R2 (10.50.x) ou do SQL Server 2008 (10.0.x) for uma exigência.

Confira também

Visão geral de índices espaciais