2012-11-18 2 views
1

Каков наилучший способ хранения матрицы расстояния в mysql?Как хранить матрицу расстояний в MySQL?

В настоящее время у меня есть две таблицы:

tPlaces

PlaceID, PlaceName, Location


tDistances

PlaceID_1, PlaceID_2, Distance

Это лучший способ пойти об этом, я слышал о RTREE и BTREE, но не нашли полное руководство о том, как реализовать такую ​​soltuion.

+0

Предложение в вашем вопросе лучше, чем два ответа (sofar). Не забудьте ключи: для tPlaces все три поля являются ключами-кандидатами, для tDistances tPlaces_ [12] оба являются FK для tPlaces. Индекс для местоположения затруднен: для некоторых платформ для него используются специальные типы таблиц 2D «GIS», для простых баз данных вы можете индексировать на * оба * {x, y} и {y, x} – wildplasser

ответ

0

Я не думаю, что ничего, кроме чистой струны, было бы возможно. Таким образом, вы сможете написать простой метод в PHP (или что бы вы ни использовали) для обработки данных. Я бы хранить его в

ID | matrix 
------------------------------------------------------------------- 
1 | "PlaceID, PlaceName, Location, PlaceID_1, PlaceID_2, Distance" 
2 | "PlaceID, PlaceName, Location, PlaceID_1, PlaceID_2, Distance" 
3 | "PlaceID, PlaceName, Location, PlaceID_1, PlaceID_2, Distance" 

Вы можете обрабатывать данные с помощью str.explode().

0

Если вы используете JSON.stringify(), вы можете сохранить весь результат как строку точно так, как вы ее получили.

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