8.х Как реализован СправочникВыборка

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

  1. TopicStarter Overlay
    Smarty
    Offline

    Smarty

    Регистрация:
    26 апр 2015
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Как известно метод Выбрать() возвращает значение типа СправочникВыборка (это для примера; можно вернуть и ДокументВыборка и т.д., но мы возьмем справочники). Далее цитата из хелпа:
    ---
    При обращении к выборке обход элементов осуществляется динамически, данные считываются из базы порциями, что позволяет эффективно использовать данный механизм даже для работы с большими справочниками, так как все элементы, входящие в выборку (соответствующие условиям выборки) в память не загружаются.
    ---
    Это все хорошо, конечно, но как это все реализовано на "низком уровне"? Если у нас БД на, допустим, MS SQL - этот последний какие команды получит при вызове Выбрать()? Не будет ли организован самый натуральный курсор со всеми вытекающими?
  2. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    нет, там будет SELECT TOP xxx * FROM yyy WHERE _ID>@id
    Smarty нравится это.
  3. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    ну настройте трассировку в профайлере и посмотрите что будет. Если такими вопросами инересуетесь то наверное должны уметь это делать, ну хотя бы план запросов получать и т.д.
    Иначе не вижу смысла.

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