Пространственное индексирование

Оценить
(0 голоса)

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

Пространственный индекс определяется для столбца таблицы с типом данных geometry или geography. В SQL Server 2008 пространственные индексы создаются с использованием двоичных деревьев; это означает, что индексы представляют две размерности в линейном порядке двоичных деревьев. По этой причине, прежде чем читать данные из пространственного индекса, SQL Server 2008 реализует иерархическую унифицированную декомпозицию пространства. В процессе создания индекса выполняется декомпозиция на четырехуровневую иерархическую структуру.

Оператор create spatial index служит для создания пространственного индекса. Общая форма этого оператора похожа на соответствующий оператор create index, но содержит дополнительные опции и предложения, некоторые из которых перечислены далее.

♦ Предложение geometrygrid задает геометрию координатной сетки мозаичной схемы, которую вы используете. (Создание мозаики является процессом, который выполняется после чтения данных из пространственного объекта. В течение этого процесса объект заполняет иерархическую сетку в соответствии его связи с набором ячеек сетки.) Предложение geometry_grid может быть указано только для столбца с типом данных geometry.

♦ Опция boundingbox задает числовой четырехмерный кортеж, который определяет четыре координаты ограничивающего прямоугольника: координаты X и 7 левого нижнего угла и координаты X и Y правого верхнего угла. Эта опция применяется только в предложении geometrygrid.

♦ Предложение geography_grid задает географию координатной сетки мозаичной схемы. Это предложение может быть указано только со столбцом с типом данных geography.

В примере 29.2 показано создание пространственного индекса для столбца shape таблицы beverage_markets.

Пространственное индексирование

Пространственное индексирование

 

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

Последующий оператор create spatial index создает индекс с использованием предложения geometry_grid. Опция bounding_box задает границы, внутри которых будет размещаться экземпляр столбца shape. Опция grids указывает плотность сетки на каждом уровне мозаичной схемы. (Опция pad_index была описана.)

SQL Server 2008, помимо прочих, поддерживает два представления каталогов, относящихся к пространственным данным:

♦ sys.spatial_indexes;

♦ sys.spatial_index_tessellations.

Представление sys.spatiaiindexes возвращает основную индексную информацию пространственных индексов. При использовании представления sys.spatiaiindextessellations вы можете отображать информацию о мозаичной схеме и о параметрах каждого из существующих пространственных индексов. В примере 29.3 показано, какую информацию можно получить при использовании этого представления.

 

Пространственное индексирование

 


Запрос данных GEOMETRY
Различия между типами данных GEOMETRY и GEOGRAPHY
Резюме к пространственным типам данных
Представление пространственных данных
Модели геодезического пространства

Добавить комментарий


Защитный код
Обновить

Авторизация



© 2018 www.serversql.ru. Все права защищены.