LINUX.ORG.RU

История изменений

Исправление 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, однако). Есть какие-то настройки, куда можно влезть? Пользователи уже смирились и познали дзен, но вдруг решение существует.