У меня есть коллекция данных, содержащая десятки миллионов записей GeoJSON, и операция, которую я буду выполнять очень часто, - это выбор всех точек определенного типа в пределах предопределенной области.База данных не защищена.Области не круглые, но они полностью выпуклые, и для каждого я знаю центроид и максимальный радиус.Ни одна из них не имеет более 8 вершин.
Итак: Предположим, что я совершенно счастлив, извлекая все в пределах окружающего круга региона, а не только строго в пределах его точной геометрии, для меня будет более эффективным использовать $nearSphere
запрос на центроид и радиус (а затем обрезать ненужные точки на стороне клиента), или я должен придерживаться $geoWithin
на фактической геометрии?Даже небольшое улучшение будет весьма уместным, учитывая частоту выполнения этих запросов.