4.6.1. Создание пространственных индексов

4.6.1. Создание пространственных индексов

MySQL может создавать пространственные индексы, использующие синтаксис, подобный аналогичному для создания регулярных индексов, но расширенный с ключевым словом SPATIAL. В настоящее время пространственные столбцы, которые индексированы, должны быть объявлены как NOT NULL. Следующие примеры показывают, как создавать пространственные индексы:

С CREATE TABLE:CREATE TABLE geom (g GEOMETRY NOT NULL, SPATIAL INDEX(g));

С ALTER TABLE:ALTER TABLE geom ADD SPATIAL INDEX(g);

С CREATE INDEX:CREATE SPATIAL INDEX sp_index ON geom (g);

Для таблиц MyISAM SPATIAL INDEX создает индекс R-tree. Для других типов памяти, которые поддерживают пространственную индексацию, SPATIAL INDEX создает индекс B-tree. B-tree на пространственных значениях будет полезен для поисковых таблиц с точным значением, но не для диапазона.

Для удаления пространственного индекса, используйте ALTER TABLE или DROP INDEX:

С ALTER TABLE:ALTER TABLE geom DROP INDEX g;

С DROP INDEX:DROP INDEX sp_index ON geom;

Пример: Предположите, что таблица geom содержит больше, чем 32000 конфигурации, которые сохранены в столбце g типа GEOMETRY. Таблица также имеет столбец AUTO_INCREMENT fid для сохранения значений объекта ID.mysql> DESCRIBE geom;

+-------+----------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-------+----------+------+-----+---------+----------------+

| fid | int(11) | | PRI | NULL | auto_increment |

| g | geometry | | | | |

+-------+----------+------+-----+---------+----------------+

2 rows in set (0.00 sec)

mysql> SELECT COUNT(*) FROM geom;

+----------+

| count(*) |

+----------+

| 32376 |

+----------+

1 row in set (0.00 sec)

Чтобы добавлять пространственный индекс на столбце g, используйте эту инструкцию:mysql> ALTER TABLE geom ADD SPATIAL INDEX(g);

Query OK, 32376 rows affected (4.05 sec)

Records: 32376 Duplicates: 0 Warnings: 0

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

5.2. Глобальная система пространственных фреймов

Из книги автора

5.2. Глобальная система пространственных фреймов Мне не очень нравится предлагаемая ниже модель, но для систем ИИ раньше или позже нечто подобное непременно потребуется разработать. Глобальный пространственный фрейм (GSF) представляет собой постоянный набор «типичных


4.1.3 Освобождение индексов

Из книги автора

4.1.3 Освобождение индексов В том случае, когда ядро освобождает индекс (алгоритм iput, Рисунок 4.4), оно уменьшает значение счетчика ссылок для него. Если это значение становится равным 0, ядро переписывает индекс на диск в том случае, когда копия индекса в памяти отличается от


Сравнение индексов

Из книги автора

Сравнение индексов Изучая поисковые индексы «Яндекс» и Google с помощью операторов inurl: и site, мы можем найти разницу в количестве проиндексированных страниц по сайту в целом и по каждому кластеру в частности. Это самая простая и эффективная проверка сайта на ошибки,


Применение индексов

Из книги автора

Применение индексов Теперь, когда ясно, что можно требовать от индексов, настало время разобраться с тем, какую роль они играют в базе данных. Индексы используются в трех основных случаях:* Ускорение выполнения запросов. Индексы создаются для полей, которые используются


Создание индексов с помощью команды CREATE INDEX

Из книги автора

Создание индексов с помощью команды CREATE INDEX Помимо создания индексов в процессе формирования таблицы (с помощью предложения CONSTRAINT), можно также создавать индексы уже после того, как таблица сформирована (с помощью предложения CREATE INDEX). Это полезно в тех случаях, когда


2.4.4. Создание таблиц и индексов в Falcon

Из книги автора

2.4.4. Создание таблиц и индексов в Falcon Falcon поддерживает все стандартные типы данных столбцов, обеспечиваемые MySQL.Чтобы создать таблицу, которая использует Falcon, примените опцию ENGINE = Falcon в инструкции CREATE TABLE:CREATE TABLE names (id INT, fname VARCHAR (20),lname VARCHAR (20)) ENGINE=FalconИндексы могут быть


4.4.2. Создание пространственных значений

Из книги автора

4.4.2. Создание пространственных значений Этот раздел описывает, как создать пространственные значения, использующие функции Well-Known Text и Well-Known Binary, которые определены в стандарте OpenGIS, и применить


4.4.3. Создание пространственных столбцов

Из книги автора

4.4.3. Создание пространственных столбцов MySQL обеспечивает стандартный способ создания пространственных столбцов для типов геометрии, например, через CREATE TABLE или ALTER TABLE. В настоящее время пространственные столбцы обеспечиваются для таблиц типов MyISAM, InnoDB, NDB и


4.4.5. Выборка пространственных данных

Из книги автора

4.4.5. Выборка пространственных данных Значения геометрии, сохраненные в таблице, могут быть выбраны во внутреннем формате. Вы можете также преобразовывать их в формат WKT или WKB.Выборка пространственных данных во внутреннем формате:Выборка геометрии с использованием


4.5.4. Функции для тестирования пространственных отношений между геометрическими объектами

Из книги автора

4.5.4. Функции для тестирования пространственных отношений между геометрическими объектами Функции, описанные в этих разделах, берут две конфигурации как входные параметры и возвращают качественное или количественное отношение между


5. Понятие индексов

Из книги автора

5. Понятие индексов Создание ключей в базовых отношениях автоматически связано с созданием индексов.Дадим определение понятия индекса.Индекс – это системная структура данных, в которой размещается обязательно упорядоченный перечень значений какого-либо ключа со


Импорт существующих индексов

Из книги автора

Импорт существующих индексов Не импортируйте "первичные индексы" таблиц при миграции из другой СУБД. Есть две важные причины отказаться от таких индексов.* Многие существующие системы используют иерархические структуры индексов для реализации ссылочной целостности.


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

Из книги автора

Просмотр индексов Для просмотра всех индексов, определенных в текущей базе данных, используйте в isql команду SHOW INDEX:* чтобы просмотреть все индексы, определенные для конкретной таблицы, используйте команду:SHOW INDEX имя-таблицы;* для просмотра информации конкретного индекса


2.8. Измерение характеристик плоских и пространственных объектов

Из книги автора

2.8. Измерение характеристик плоских и пространственных объектов При работе с моделью детали может возникнуть необходимость узнать расстояние или угол между вершинами, ребрами, осями, гранями и плоскостями.В КОМПАС-3D LT возможно измерение различных геометрических


2.8.2. Измерение характеристик пространственных объектов

Из книги автора

2.8.2. Измерение характеристик пространственных объектов Для вызова команды нажмите соответствующую кнопку на панели Измерения (3D) или выберите ее название из меню Сервис | Измерить (рис. 2.14). Точность вычислений и единицы измерения длины вы можете задать, используя