2015-07-24 2 views
0

Я работаю над приложением Heatmap, которое извлекает точки долготы и широты из базы данных mysql. Поскольку таблица, которую я использую, является innodb, я не могу использовать пространственный индекс. Таким образом, вместо того, чтобы я разделила регион, в котором точки расположены в * 1000 блоков сетки 1000 и назначить каждой точке индекс, основанный на блоке он попадает, используя эту формулу:Получение всех значений индекса в mysql

set blockindex=FLOOR((lon-minlon)/londifference*1000)*1000+FLOOR(lat-minlat)/latdifference*1000); 

Есть ли синтаксис в MySQL, чтобы получить все значения в этом индексе, которые были назначены точке?

+0

Слишком много раз употребление слова «индекс». В языке dba: Index - это база данных для создания более быстрых путей доступа к данным в таблицах в базе данных. Кажется, вы используете индекс по крайней мере двумя способами (пространственный индекс и присвоенный ** индекс **), так какой индекс вы имеете в виду в своем последнем вопросе? –

+0

Я не использовал пространственный индекс, потому что это была таблица innodb. Я создал индекс, используя CREATE INDEX block_index ON heatmappoints (blockindex); где индекс блока - это значение, вычисленное по формуле – Jojo

+0

. Индекс таблицы содержит все значения (кроме значений NULL, если не указано иное) данного столбца с индексированием. Поэтому для этого достаточно стандартного индекса 'CREATE TABLE'. –

ответ

Смежные вопросы