История изменений
Исправление monk, (текущая версия) :
Благодарю! Да, так логично и не костыльно.
Кстати, может посоветуете, как практический вопрос решить: 1С генерирует запросы типа
SELECT TOP 40
Details.F1,
Details.F2,
...
FROM
Details
JOIN Main
ON Details.Name = Main.Name
AND Details.Person = Main.Person
AND Details.Id IN
(SELECT TOP 1 Id FROM Details AS DetailsFilter
WHERE
DetailsFilter.Person = Details.Person
AND DetailsFilter.Name = Details.Person
AND DetailsFilter.Begin <= &Date
AND DetailsFilter.End >= &Date
ORDER BY DetailsFilter.Begin Desc, DetailsFilter.Org)
INNER JOIN Sec
On Main.Person = Sec.Person AND Main.Org = Sec.Org
ORDER BY Sec.F3
Этот запрос работает быстро на MS SQL и очень медленно на PostgresPro (судя по всему, делает запрос по всей таблице по каждой строке таблицы Details).
Текст запроса и структуру базы менять нельзя (ORM, однако). Есть какие-то настройки, куда можно влезть? Пользователи уже смирились и познали дзен, но вдруг решение существует.
Исходная версия monk, :
Благодарю! Да, так логично и не костыльно.
Кстати, может посоветуете, как практический вопрос решить: 1С генерирует запросы типа
SELECT TOP 40
Details.F1,
Details.F2,
...
FROM
Details
JOIN Main
ON Details.Name = Main.Name
AND Details.Person = Main.Person
AND Details.Id IN
(SELECT TOP 1 Id FROM Details AS DetailsFilter
WHERE
DetailsFilter.Person = Details.Person
AND DetailsFilter.Name = Details.Person
AND DetailsFilter.Begin <= &Date
AND DetailsFilter.End >= &Date
ORDER BY DetailsFilter.Begin Desc, DetailsFilter.Org)
INNER JOIN Sec
On Main.Person = Sec.Person AND Main.Org = Sec.Org
ORDER BY Sec.F3
Этот запрос работает быстро на MS SQL и очень медленно на PostgresPro (судя по всему, делает запрос по всей таблице по каждой строке результирующего запроса).
Текст запроса и структуру базы менять нельзя (ORM, однако). Есть какие-то настройки, куда можно влезть? Пользователи уже смирились и познали дзен, но вдруг решение существует.