|
Обход табличной части сверху вниз и снизу вверх одновременно в запросе :) |
☑ |
0
Vlaloplo
17.01.22
✎
12:15
|
Доброго дня! Пытаюсь решить задачу по оптимизации подсчета координатов городов, сейчас есть табличная часть с двумя колонками содержащая координаты (числа) эта табличная часть обходится в цикле и по условиям попадает в формулу, в которой есть последняя строка и первая строка ТЧ. Хочется это оптимизировать сделав запрос, который будет выдавать нужный результат, но никак не придумаю, как можно в запросе реализовать обход сразу с двух сторон :)
|
|
1
Ёпрст
гуру
17.01.22
✎
12:17
|
(0) в запрос параметром передай первую и последнюю строку, если ннадо.
А так, нам отсюда не видно твой чудо-алгоритм, и зачем ЭТО решать запросом.
|
|
2
fisher
17.01.22
✎
12:23
|
Обход - никак не реализовать. Язык запросов такими категориями не оперирует. А для ответа на вопрос, можно ли в запросе получить результат аналогичный твоему алгоритму, нужно как минимум понимать твой алгоритм.
|
|
3
Vlaloplo
17.01.22
✎
12:25
|
(1) Нет, дело в том, что формула работает следующим образом ПерваяСтрока - последняя строка, в следующей итерации ВтораяСтрока - предпоследняя строка и т.д идут навстречу друг другу. Зачем решать запросом вопрос интересный, просто хотел узнать возможно ли это или нет)
|
|
4
DrShad
17.01.22
✎
12:25
|
полный перебор чтоли?
|
|
5
fisher
17.01.22
✎
12:26
|
(3) А результат этих блужданий какой должен быть? Хорошее настроение?
|
|
6
Vlaloplo
17.01.22
✎
12:27
|
(5) Желательно. Но вообще в формуле используются простые сравнения с подсчетом, по итогу получаю булево
|
|
7
DrShad
17.01.22
✎
12:28
|
(3) возможно, но время исполнения кратно возрастает от количества строк
|
|
8
Vlaloplo
17.01.22
✎
12:29
|
(7) это я и хотел проверить. Мне казалось, что запрос будет быстрей
|
|
9
fisher
17.01.22
✎
12:30
|
(6) Если предполагается нахождение первой строки в отсортированном определенным образом списке, для которой предикат возвращает истину - то это в запросе делается несложно. Если предикат не слишком хитро считается.
|
|
10
DrShad
17.01.22
✎
12:32
|
(8) построить оптимальный маршрут на основе только координат нереально
|
|
11
fisher
17.01.22
✎
12:37
|
Скорее всего ты зациклился на текущем итерационном алгоритме, который один в один переложить на запрос конечно же не получится. Написать запрос, решающий ту же задачу - зачастую можно. Но пока ты не раскроешь детали алгоритма тебе с этим никто помочь не сможет.
|
|
12
Lexandr
17.01.22
✎
13:27
|
Два запроса. Одни выбирает первую половину таблицы, второй - вторую. Упорядочить, потом соединить.
|
|
13
arsik
гуру
17.01.22
✎
14:12
|
(0) Хрень. Наш выбор Postgre + PostGIS
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший