Spec-Zone .ru
спецификации, руководства, описания, API

12.18.6.1. Пространственное создание Индексирует

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

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

Для получения дополнительной информации по индексации пространственных столбцов см. Раздел 13.1.13,"CREATE INDEX Синтаксис".

Отбрасывать пространственный индексирует, использовать ALTER TABLE или DROP INDEX:

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

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