Ваш вопрос: "Я бы испытал значительное увеличение скорости ... [путем] изменения вещей на использование типа данных геометрии?"казалось, игнорирует возможность того, что использование выделенных пространственных типов данных может на самом деле замедлить ход событий.Тем не менее, это может иметь место по нескольким причинам.
Во-первых, помните, что типы данных геометрии и географии поддерживают не только точки, но и линейные линии и полигоны.Дополнительная сложность, которую они поддерживают, означает, что они не обязательно используют упрощенный расчет расстояния от точки к точке.Они также поддерживают больший диапазон встроенных функций для этих типов, поэтому сериализованное значение точки является более сложным, чем просто набор длинных и длинных координат.Это означает, что значение геометрической / географической точки может быть медленнее извлекать и запрашивать, чем эквивалентные столбцы необработанных данных координат с плавающей точкой.
Второй, и более важный фактор, относится к точности, с которой выполняется вычисление расстояния:
1.) Если у вас есть спроецированные координаты (то есть UTM, национальная сетка или плоскость штата), то значения координат измеряются в линейных (x, y) единицах на плоской плоскости.Поэтому легко вычислить расстояние между двумя точками, используя базовую тригонометрию: Dist (xy) = SQRT ((x2 - x1) 2 + (y2 - y1) 2) Это простой математический метод, и вы вряд ли увидите многоразница в производительности, независимо от того, реализуете ли вы это самостоятельно или используете геометрический тип данных.
2.) Если у вас есть географические координаты (т. е. широта / долгота), то они измеряются в угловых единицах на эллипсоиде .Чаще всего это эллипсоид WGS84, используемый системами WGS84.Во многих случаях вы можете получить достаточно хорошее приближение расстояния между двумя точками на эллипсоиде, используя вместо этого простые сферические вычисления, как вы делаете это в своей хранимой процедуре.Тем не менее, форма Земли больше напоминает сплющенную сферу - она шире на экваторе, чем на полюсах, и ваш расчет не учитывает такое уплощение Земли.Географический тип данных использует эллипсоидальные вычисления, основанные на модели эллипсоида предоставленной SRID, которые обязательно более сложны, но приведут к более точному ответу.
Поэтому я рекомендую, если вы хотите увеличить Точность и Функциональность ваших пространственных данных, тогда вы должны перейти к пространственным типам данных, но не по соображениям производительности.