SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.10.2011 16:03:16

mybd
Участник
Зарегистрирован: 04.11.2010
Сообщений: 16

Выбор типа данных для точного хранения координат

Требования:
- Диапозон значений -90.0000000 ... +90.0000000 (для широты) и -180.0000000 ... +180.0000000 (для долготы)
- Кол-во знаков после запятой <=7
- Считываться из БД должно ровно такое число какое было записано (с точностью до 7 знаков после запятой)
- Максимально возможная скорость выборки по различным условиям сравнения. Объемы данных очень большие (порядка нескольких миллионов записей). Условия выборки в основном "больше/меньше". Возможность создания индексов.
- Экономия занимаемого места.

Скорость выборки имеет приоритет перед кол-вом занимаемого места.

FLOAT - сразу отметается. Т.к. он явно врет. Соответсвенно выбор стоит между DOUBLE и DECIMAL.
Точность вычислений над координатами не важна. Важна гарантия того, что я прочитаю то число, которое записал с указанной выше точностью.

Пока склоняюсь к DOUBLE. Но интересует что лучше вплане скорости выборки DOUBLE или DECIMAL. Т.к. понятно, что DECIMAL больше места занимает. Может еще какие скрытые недостатки есть у этих типов.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson