Что такое ПРОСТРАНСТВЕННЫЙ ИНДЕКС и когда я должен его использовать?

Как и большинство средних веб-разработчиков PHP, я использую MySql как СУБД. MySql (как и другие СУБД) также предлагает функции SPATIAL INDEX, но мне это не очень хорошо. Я искал его, но не нашел ясных примеров реального мира, чтобы прояснить мои плохие знания об этом.

Может кто-нибудь немного объяснит мне, что такое ПРОСТРАНСТВЕННЫЙ ИНДЕКС и когда я должен его использовать?

Ответ 1

Вы можете использовать пространственный индекс для индексирования геообъектов - фигур. Пространственный индекс позволяет эффективно искать объекты, которые перекрываются в пространстве

Ответ 2

Пространственный индекс похож на обычный индекс с такой разницей, что пространственные объекты не являются 1D точками данных, а находятся в пространстве с более высоким размером (например, 2D), и поэтому обычные индексы, такие как BTree, не подходят для индексации таких данных. Известный метод пространственного индекса - это R-дерево (Google it on wikipedia).

Ответ 3

Использование пространственного индекса лучше всего подходит для поиска точного соответствия значений, а не для сканирования диапазона. Оно в основном поддерживается в таблицах MyISAM, но из выпуска MySQL 5.7.4 LAB, оно также поддерживается Innodb.

Литература: - http://dev.mysql.com/doc/refman/5.5/en/creating-spatial-indexes.html http://mysqlserverteam.com/innodb-spatial-indexes-in-5-7-4-lab-release/