Spec-Zone.ru › MariaDB

ПРОСТРАНСТВЕННЫЙ ИНДЕКС

Описание

В таблицах MyISAM, Aria и InnoDB MariaDB может создавать пространственные индексы (индекс R-дерева) используя синтаксис, похожий на создание обычных индексов, но дополненный ключевым словом 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);
    

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

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

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

  • с помощью ALTER TABLE:
    ALTER TABLE geom DROP INDEX g;
    
  • с помощью DROP INDEX:
    DROP INDEX sp_index ON geom;
    

Шифрование данных в состоянии покоя

До MariaDB 10.4.3 пространственные индексы InnoDB не могли быть зашифрованы. Если таблица InnoDB была зашифрована и содержала пространственные индексы, то эти индексы оставались незашифрованными.

В MariaDB 10.4.3 и более поздних версиях, если innodb_checksum_algorithm установлено в full_crc32 или strict_full_crc32, и если таблица не использует ROW_FORMAT=COMPRESSED, тогда пространственные индексы InnoDB будут зашифрованы, если таблица зашифрована.

См. MDEV-12026 для получения дополнительной информации.

Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают позиции MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/spatial-index/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API