Я предполагаю, что использование Rtree для хранения очков кажется неправильным использованием. Хотя этот тип структуры предназначен для хранения пространственных данных, после некоторых исследований, которые я только что обнаружил, она лучше всего подходит для хранения областей с ненулевой областью (так как R в названии означает Region или Rectangle). Создание простой таблицы с хорошим индексом должно обеспечить лучшую производительность для обновления и поиска данных. Рассмотрим мой пример ниже:
CREATE TABLE locations (id, latitude, longitude);
CREATE INDEX idx_locations ON locations (latitude, longitude);
предпочтительнее, чем
CREATE VIRTUAL TABLE locations USING rtree( id, minLatitude, maxLatitude, minLongitude, maxLongitude);
, если вы просто планируете повторять minLatitude для maxLatitude и minLongitude для maxLongitude для каждой строки, чтобы представлять точки, а не прямоугольники. Хотя последний подход будет работать должным образом, Rtrees подходят для индексирования прямоугольных областей, и их использование для хранения точек является неправильным использованием с худшей производительностью. Предпочитаю составной индекс, как указано выше.
Дальнейшее чтение: http://www.deepdyve.com/lp/acm/r-trees-a-dynamic-index-structure-for-spatial-searching-ZH0iLI4kb0?key=acm