У меня есть функция, которая позволяет пользователям создавать новое пятно/маркер на карте, используя обычное значение Latitude & Longitude или изменять любые существующие точки. И, очевидно, эти места нужно будет сохранить в таблице.(DB/SQL) Ориентированный на производительность способ управления данными координат карты
Сценарий: В настоящее время таблица содержит шесть наборов координат, которые изначально извлекаются на карту. Скажем, два из существующих пятен изменены, три из них удалены, и, наконец, к карте добавлены четыре новых пятна.
Теперь, будучи начинающим пользователем SQL, я мог думать только два подхода для написания Результирующих координат в базу данных следующим образом:
- Удалить все существующие данные в таблице, а затем захватить все, что есть оставляются на карте и проходят через них и просто создают каждый набор координат.
- Обновите данные для измененных мест. Удалите только те, которые фактически удалены пользователем. Создайте новые записи для всех новых мест.
Для этого упрощенного сценария я бы подумал, что для опции № 1 требуется один запрос DELETE и шесть запросов CREATE, в результате чего получается семь запросов, которые необходимо выполнить. С другой стороны, для опции № 2 требуются три запроса DELETE, два запроса UPDATE и четыре запроса CREATE, что составляет в общей сложности девять запросов.
Весь смысл публикации этого вопроса заключается в том, что я не уверен, какое преимущество или недостаток производительности я должен ожидать для любого подхода, когда набор данных становится значительно большим. Является ли один из двух подходов лучше, чем другой, по другим причинам, чем общее количество требуемых запросов? Каков обычный способ справиться со сценарием, подобным этому?
Имеет большой смысл! – BinaryCat