Попытка загрузить около 10000 записей из базы данных MySQL и разместить их на карте листовки

Проблема, с которой я сталкиваюсь, связана со временем загрузки. Я создаю приложение, чтобы показать деревья города на карте листовки. Деревья загружаются как карты, на определенном уровне масштабирования. Места с около 2000 деревьев загружаются достаточно быстро. Но есть места, где плотность деревьев слишком высока. Поэтому, как только я перемещаюсь в это место, загрузка данных занимает некоторое время. Можно ли как-то сократить время загрузки? Запрос, который я использую для извлечения данных на определенном расстоянии от центра области просмотра:

SELECT gt.latitude_dl, gt.longitude_dl, t.name_vc, 
        p.project_vc, gt.height_dc, gt.age_dc, gt.address_txt, gt.canopy_diameter_dc, o.ownership_vc,
        c.condition_vc, gt.remark_txt,
        SQRT(
            POW( 69.1 * ( gt.latitude_dl - [ center_lat ] ), 2) +
            POW( 69.1 * ( [ center_lon ] - gt.longitude_dl ) * COS( gt.latitude_dl / 57.3 ), 2 )
        ) AS distance
        FROM tree_geotags_t gt
        LEFT JOIN mst_tree_t t ON t.tree_id = gt.tree_id
        LEFT JOIN mst_project_t p ON p.project_id = gt.project_id
        LEFT JOIN mst_tree_condition_t c ON c.tree_condition_id = gt.tree_condition_id
        LEFT JOIN mst_ownership_type_t o ON o.ownership_type_id = gt.ownership_type_id
        HAVING distance < 0.4 ORDER BY distance

Где [ center_lon ] и [ center_lat ] - координаты центра области просмотра, которые я передаю через ajax.

0 ответов

Другие вопросы по тегам