8.х Что быстрее: отбор из регистра накопления или напрямую из документов?

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Vitaly, 30 янв 2016.

  1. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Добрый вечер.
    Имеет ли разница на производительность, откуда данные отбираются: из регистра накопления или напрямую из журнала документа (Запросом)?
    Суть вопроса: чтобы сильно не менять конфигурацию, проще отбирать по журналу документов, но боюсь за производительность.
    Что скажете про отбор по документам, а не по регистрам?
    Заранее спасибо Вам за помощь.
  2. TODD22
    Online

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

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Смотря какие данные нужно отобрать.
    Если это данные накопления которые хранятся в регистре накопления то быстрее всего работать будет запрос к виртуальным таблицам регистра.

    Если же нужны данные которых в регистре нет. А есть только в документах то запрос будет к таблице документов.
    Vitaly нравится это.
  3. pavl_vs
    Offline

    pavl_vs Профессионал в 1С

    Регистрация:
    18 июн 2011
    Сообщения:
    343
    Симпатии:
    27
    Баллы:
    54
    Создайте два запроса в консоли и сравните время выполнения. Вам же нужен конкретный ответ,
    а не типа Смотря какие данные нужно отобрать.
    --- Объединение сообщений, 31 янв 2016 ---
    Это понятно. Данные есть и там, и там - можно сравнивать.
    А это что? Вы сами внимательно прочтите.
    Последнее редактирование: 31 янв 2016
    Vitaly нравится это.
  4. TODD22
    Online

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

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Руководствоваться только временем выполнения без понимания механизмов хранения и работы регистров не очень правильно.
    Потом один и тот же запрос будет работать с разной производительностью. То что сегодня отрабатывает быстро через 6 месяцев начинает тормозить.
    --- Объединение сообщений, 31 янв 2016 ---
    Что из написанного вам не понятно?
    Vitaly нравится это.
  5. pavl_vs
    Offline

    pavl_vs Профессионал в 1С

    Регистрация:
    18 июн 2011
    Сообщения:
    343
    Симпатии:
    27
    Баллы:
    54
    ТС задается вопросом о производительности двух вариантов выборки в случае, когда данные имеются как в документах, так и в регистре накопления.
    И Вы ответили:
    А вот это
    на мой взгляд лишнее - сравнивать нечего, ответ тривиален.
    Vitaly нравится это.
  6. TODD22
    Online

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

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    ТС ничего не писал о том есть ли данные в регистре и в документе он спросил только откуда чтение будет быстрее.
    Есть данные накопления это те данные которые хранятся в регистре и по которым строятся итоги и виртуальные таблицы. Но есть и другие данные по которым не строятся итоги и они то же могут быть в регистре. Например реквизиты.
    Так же данные могут быть в документе но их может не быть в регистре. Для того что бы их получить сделав запрос к регистру нужно их получить из регистратора а это более ресурсоёмкая задача чем получение из виртуальных таблиц. А если ещё и регистратор составного типа то и это нужно учесть.
    Из вопроса ТС не понятно какие данные ему нужны. По этому и ответить однозначно как будет быстрее нельзя. Тем более не правильно ответить "возьми консоль и сравни" потому что сегодня будет одна производительность, а завтра с накопленным данными может быть совершенно другой.
    Vitaly нравится это.
  7. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.023
    Симпатии:
    51
    Баллы:
    54
    За "отбор по документам, а не по регистрам" на сертификационном экзамене снимут 3 балла и домой с позором отправят.
    И вообще родителей к директору вызовут :)
    А по поводу того, где данные есть а где нет - похоже в регистре данные есть не все, раз автор боится регистр корежить..
    Vitaly нравится это.
  8. TODD22
    Online

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

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Это на экзамене. Там задача условная. В реальной жизни в регистре может не быть нужных данных. А они могут быть в самом документе. Тогда через регистратора получают эти данные.
    По стандартам разработки если приходится через регистратор получать какие то данные то это скорее всего ошибка в проектировании регистра и накапливаемой информации.

    Ну а в рабочих базах например в тех же типовых бывает что приходится получать данные и из документов в том числе. Это нормально.
    Вопрос нужно ставить что за информация и как хранится. А уже потом думать как её получать.
    Vitaly нравится это.
  9. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Все необходимые данные есть в документе. В регистре половины информации нет. Тем более что мне нужно еще учитывать не проведенные документы в отчете.
  10. TODD22
    Online

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

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Довольно странная задача "учёт не проведённых документов" на то они и непроведённые что бы на итоги в базе не влияли. К тому же в непроведённом документе может быть не вся информация. Контроль при записи не выполняется. Черновик, он и есть черновик документа. И тогда вы получите непонятные данные.
    Надо исходить всё же из задачи. Может там и нет половины, а может эта половина и не нужна.
    Нельзя однозначно сказать не зная задачи откуда выборка будет быстрее или откуда её сделать правильнее.
    Vitaly нравится это.
  11. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    В регистре, как правило, содержаться данные проведенных документов, бегать по всем табличным частям документа и сводить все в одну структуру - может оказаться невыполнимой задачей в рамках одного запроса.
    Vitaly нравится это.
  12. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Данные заполняются через внешнюю обработку - там присутствует проверка на полноту заполнения документа.
    Задачу я сказал.
  13. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Замер производительности не пробовал делать?
    Vitaly нравится это.
  14. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Пока что скорость формирования результата практически не отличается.
  15. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Ну, так может и не стоит огород городить? Или есть какое-то принципиальное мнение на этот счет?
    Vitaly нравится это.

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