Спасибо. Я посмотрел, но границы очень не точные, и большое кол-во городов отсутствует (( Не сильно подходит. Разве что самому сидеть редактировать полигоны, но это очень кропотливая работа.
можете литературу посоветовать вот чтобы как будто для начинающего, но и не совсем, чтобы быстро разобрать.
QT нуждается в установке дополнительных программ? Если да, легко ли этот процесс автоматизировать. Чтобы оно само устанавливалось, до установки самой программы ?
1. Чистая реализация на сокетах без оберткок дот нетовских (кажется что будет быстрее работать)
2. Пользователи очень глупы и попробуй каждому объяснить (кто на XP), что игра не запускается по причине того, что у вас не установлен .net 3.0. А если и достучаться, то не каждый пользователь сможет его еще установить, бо у самого не с первого раза может получиться его установить.
3. Не люблю .Net :) Личная не приязнь после диплома на нем )
тут не в денормализации дело.
жыл был json
откуда - {lat:50,lng:30,name:'name'}
куда - {lat:50,lng:30,name:'name'}
промежуточные - [{lat:50,lng:30,name:'name'},{lat:50,lng:30,name:'name'}]
вот так хранилось изначально.
я подумал и решил что плохо РСУБД пытаться применять как объектную бд хотя все на это сводиться да и удобно его хранить в таком виде.
сразу три проблемы
- скорость выборки (выборка происходит очень часто да еще и такая выборка где нужно получить координаты и название всех точек которые были созданы)
- fulltext поиск (1 - делать индекс колонку с json накладно для бд, 2. даже если и искать кирилица при кодировании превращается в \uXXXX)
- на будущее когда будет своя база адресов (сейчас я сохраняю туда format_address и координаты от геокодера)
- дублирются данные
в моем случае JSON в основном константа. редко нужно будет что-то менять. а даже если и нужно будет изменить маршрутную точку тогда как в MONGODB возьмем да и запишем новый JSON.
вариант в самом вопросе (много FK) не канает так как много джоинов + запрос выполняется медленнее на порядок чем с json (скорее всего из за того что из каждого джоина мы получаем все столбы и их получается не реально много) + кодом нужно формировать вложенные объекты/массивы для удобства доступа
вариант правильный по бест практик тоже плохо будет отрабатывать...(да 2 джоина уже хорошо) но при таком джоине и при выборке 1000 заказов мы получаем результирующие 3000 (если стабильно у половины будет одна промежуточная а если будет 2 или вообще 4) . Помимо этого нам опять в коде разделить точки от заказов (дублирующие удалить) и по айди связать все и кодом создать вложенные объекты
ORDER BY op.position SEPARATOR ', '
)
,']'
) as places
FROM orders_test_2 as o
LEFT JOIN order_places as op
ON o.id = op.order_id
LEFT JOIN places as p
ON p.id = op.point_id
GROUP BY o.id
Вроде как то что нужно. И совместимость ломать не буду и работает быстро. Только мой тихий голос говорит что я пришел к тому от чего ушел......
уже второй день не могу придумать решение... додумать отпишусь обязательно