Поделиться через


Создание, изменение и удаление пространственных индексов

Пространственный индекс позволяет более эффективно выполнять определенные операции на столбцах с данными типа geometry или geography (то есть на пространственных столбцах). Для пространственного столбца может быть задано несколько пространственных индексов. Это целесообразно, например, при индексировании различных параметров тесселяции в одном столбце.

На создание пространственных индексов накладывается ряд ограничений. Дополнительные сведения см. в подразделе Ограничения пространственных индексов этого раздела.

ПримечаниеПримечание

Дополнительные сведения о связи пространственных индексов с секциями и файловыми группами см. в подразделе «Примечания» раздела CREATE SPATIAL INDEX (Transact-SQL).

В этом разделе

  • Создание, изменение и удаление пространственных индексов

    • Создание пространственного индекса

    • Изменение пространственного индекса

    • Удаление пространственного индекса

  • Ограничения пространственных индексов

Создание, изменение и удаление пространственных индексов

Создание пространственного индекса

  • Создание нового пространственного индекса с помощью Transact-SQL
    CREATE SPATIAL INDEX (Transact-SQL)

  • Создание пространственного индекса с помощью диалогового окна «Создание индекса» в среде Management Studio

    Создание пространственного индекса в среде Management Studio

    1. В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engine и разверните его.

    2. Раскройте узел Базы данных, раскройте базу данных, содержащую таблицу с нужным индексом, а затем — узел Таблицы.

    3. Раскройте таблицу, для которой необходимо создать индекс.

    4. Щелкните правой кнопкой мыши Индексы и в контекстном меню выберите команду Создать индекс.

    5. В поле Имя индекса введите имя индекса.

    6. В раскрывающемся списке Тип индекса выберите Пространственный.

    7. Чтобы указать пространственный столбец, который необходимо проиндексировать, нажмите кнопку Добавить.

    8. В диалоговом окне Выбор столбцов из <table name> выберите столбец типа geometry или geography, установив соответствующий флажок. Остальные пространственные столбцы при этом станут недоступными для редактирования. Если необходимо выбрать другой пространственный столбец, то сначала нужно снять флажок со столбца, выбранного в данный момент. После завершения нажмите кнопку ОК.

    9. Проверьте выбор столбца в сетке Ключевой столбец индекса.

    10. На панели Выбор страницы диалогового окна Свойства индекса щелкните Пространственный.

    11. На странице Пространственный укажите значение, которое необходимо использовать для пространственных свойств индекса.

      При создании индекса для столбца типа geometry необходимо указать координаты (X-min,Y-min) и (X-max,Y-max) ограничивающего прямоугольника. При создании индекса для столбца типа geography после задания схемы тесселяции Географическая сетка поля ограничивающего прямоугольника становятся доступными только для чтения, поскольку в тесселяции географической сетки ограничивающий прямоугольник не используется.

      При необходимости можно указать нестандартные значения для поля Число ячеек на объект и для плотности сетки на любом уровне схемы тесселяции. По умолчанию количество ячеек на объект составляет 16 для SQL Server 2008 или 8 для SQL Server 2012, а плотность сетки — Средняя для SQL Server 2008.

      В SQL Server можно выбрать схему тесселяции GEOMETRY_AUTO_GRID или GEOGRAPHY_AUTO_GRID. При выборе GEOMETRY_AUTO_GRID или GEOGRAPHY_AUTO_GRID параметры плотности сетки «Уровень 1», «Уровень 2», «Уровень 3» и «Уровень 4» будут отключены.

      Дополнительные сведения об этих свойствах см. в разделе Справка F1 свойств индекса.

    12. Нажмите кнопку ОК.

    ПримечаниеПримечание

    Чтобы создать другой пространственный индекс на том же или другом пространственном столбце, повторите предыдущие шаги.

    [В начало]

  • Создание пространственного индекса с помощью конструктора таблиц в среде Management Studio

    Создание пространственного индекса в конструкторе таблиц

    1. В обозревателе объектов щелкните правой кнопкой мыши таблицу, для которой нужно создать пространственный индекс, и выберите пункт Конструктор.

      Таблица откроется в конструкторе таблиц.

    2. Выберите столбец geometry или geography для создания индекса.

    3. В меню Конструктор таблиц выберите пункт Пространственный индекс.

    4. В диалоговом окне Пространственные индексы нажмите кнопку Добавить.

    5. Выберите новый индекс в списке Выбранные пространственные индексы и в сетке справа задайте свойства пространственного индекса. Дополнительные сведения об этих свойствах см. в разделе Диалоговое окно «Пространственные индексы» (визуальные инструменты для баз данных).

[В начало]

Изменение пространственного индекса

[В начало]

Удаление пространственного индекса

  • Удаление пространственного индекса с помощью Transact-SQL
    DROP INDEX (Transact-SQL)

  • Удаление индекса с помощью среды Management Studio
    Удаление индекса

  • Удаление пространственного индекса с помощью конструктора таблиц в среде Management Studio

    Удаление пространственного индекса в конструкторе таблиц

    1. В обозревателе объектов щелкните правой кнопкой мыши таблицу с пространственным индексом, который необходимо удалить, и выберите команду Конструктор.

      Таблица откроется в конструкторе таблиц.

    2. В меню Конструктор таблиц выберите пункт Пространственный индекс.

      Откроется диалоговое окно Пространственный индекс.

    3. Щелкните удаляемый индекс в столбце Выбранные пространственные индексы.

    4. Нажмите кнопку Удалить.

[В начало]

Ограничения пространственных индексов

Пространственный индекс можно создать только для столбца типа geometry или geography.

Ограничения таблиц и представлений

Пространственные индексы можно определить только для таблицы, у которой имеется первичный ключ. Максимально допустимое число первичных ключевых столбцов составляет 15.

Размер записей ключа индекса не должен превышать 895 байт. Размеры, превышающие указанное значение, приводят к ошибке.

ПримечаниеПримечание

Пока для таблицы определен пространственный индекс, изменить метаданные первичного ключа невозможно.

Пространственные индексы не могут быть заданы в индексированных представлениях.

Ограничения количества пространственных индексов

На любом из пространственных столбцов поддерживаемой таблицы можно создать до 249 пространственных индексов. Создание нескольких пространственных индексов на одном и том же пространственном столбце может оказаться целесообразным, например, для индексации различных параметров тесселяции в одном столбце.

Одновременно можно создать только один пространственный индекс.

Пространственные индексы и параллелизм процессов

Для построения индексов можно воспользоваться доступным параллелизмом процессов.

Ограничения версии

Новые пространственные тесселяции для SQL Server 2012 не могут проходить репликацию в SQL Server 2008 R2 или SQL Server 2008. Чтобы обеспечить обратную совместимость с базами данных SQL Server 2008 R2 или SQL Server 2008, необходимо использовать для пространственных индексов пространственные тесселяции SQL Server 2008 R2 или SQL Server 2008.

[В начало]

См. также

Основные понятия

Общие сведения о пространственных индексах