8.х Тормозит Динамический список

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем o_O, 3 июн 2014.

  1. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    Всем добра!
    Файловая БД, 8.3 Такси.
    В форме списка номенклатуры меняю запрос на "Произвольный", добавляю два левых соединения и становится невозможно работать: задержка 2 секунды при открытии папки с десятком элементов. Посмотрел типовую Бухгалтерию, там есть запросы с двумя соединениями, значит в теории не должно тормозить.
    Требуется в запросе соединение с 5 другими таблицами, т.е. отображение всей необходимой информации по номенклатуре (статусы, цены, складские, резервы, закупки, поставки и т.д.).
    УП чуть получше, но тоже ощутимо подтормаживает.
    Есть какое-то решение?
  2. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    Ну можете пример запроса привести?? А то не очень понятно. Вдруг соединение неоптимальное.
  3. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    SELECT
    CatalogНоменклатура.Description,
    ЗаказBalance.КоличествоBalance AS Заказ, ВПутиBalance.КоличествоBalance AS вПути,
    РезервыТоваровBalance.РезервТовараBalance AS Резерв,
    ОстаткиBalance.ОстатокТовараBalance AS Остаток,
    ОстаткиBalance.ОстатокТовараBalance-РезервыТоваровBalance.РезервТовараBalance AS Свободно,
    СтатусыSliceLast.СтатусПоставки AS СтатусПоставки,
    СтатусыSliceLast.СтатусПродажи AS СтатусПродажи
    FROM
    Catalog.Номенклатура AS CatalogНоменклатура
    LEFT JOIN
    InformationRegister.Статусы.SliceLast(&d1) AS СтатусыSliceLast
    ON СтатусыSliceLast.Товар = CatalogНоменклатура.Ref
    LEFT JOIN
    AccumulationRegister.Заказ.Balance(&d1) AS ЗаказBalance
    ON ЗаказBalance.Товар = CatalogНоменклатура.Ref
    LEFT JOIN
    AccumulationRegister.ВПути.Balance(&d1) AS ВПутиBalance
    ON ВПутиBalance.Товар = CatalogНоменклатура.Ref
    LEFT JOIN
    AccumulationRegister.РезервыТоваров.Balance(&d1) AS РезервыТоваровBalance
    ON РезервыТоваровBalance.Товар = CatalogНоменклатура.Ref,
    LEFT JOIN
    AccumulationRegister.Остатки.Balance(&d1) AS ОстаткиBalance
    ON ОстаткиBalance.Товар = CatalogНоменклатура.Ref
  4. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    левые соединения с подзапросами, возвращающими кучу данных - это круто :)
  5. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    где подзапросы?
  6. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    А таблицы большие из которых данные достаются?? Попробуйте поубирать по одной таблице и посмотрите в каком моменте быстродействие станет никудышным )))))
  7. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    Добавляя одну таблицу, добавляется 1 сек, вторую - 2 сек., дальше уже не интересно.
    Этот же запрос в 8.1 по всей номенклатуре выполняется за 2 сек., но 8.1 на mssql. В 8.3 приемлимое быстродействие только с одним левым соединением, но получается очень скудная информация даже для подбора товара в счёт.
  8. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    любая виртуальная таблица - вложенный запрос, причем чаще всего не один, скажем, срез последних - это 2-3 вложенных запроса.

    файловая к таким вещам плохо относится, ибо там и оптимизатор почти никакой, и доступ к данным не очень
  9. TopicStarter Overlay
    o_O
    Offline

    o_O Опытный в 1С

    Регистрация:
    18 июн 2010
    Сообщения:
    234
    Симпатии:
    0
    Баллы:
    26
    Буду пробовать на mssql.
    Всем спасибо!

Поделиться этой страницей