понедельник, 5 августа 2013 г.

Запрос. Выгрузить() vs Выбрать(). Менеджер объекта?

Недавно просматривал статью "Особенности использования динамических выборок (выборки данных с помощью методов Выбрать...)" из методических рекомендаций (или тут).
В частности, там есть такой момент, который меня удивил:
Следует учитывать, что если в процессе обхода выборки данные изменяются (в данной сессии, или другими сессиями), то могут возникать такие ситуации, как получение данных удаленного объекта, получение в выборке одного объекта два раза, не попадание некоторых записей в выборку и т.д.
Т.е. они хотят сказать, что вы высоконагруженных системах моя любимая выборка будет "глючить" и придется тянуть здоровенные таблицы в память?
Конечно, какая эта еще вероятность, того что данные изменятся в момент выборки. Но важен сам принцип.

И все-таки я сомневаюсь. С одной стороны логика подсказывает, что если оно сразу не пишется все в память, значит, читается порциями. А так как еще и зависит от скорости выполнения кода 1С, то может быть хорошо растянуто во времени.
Так же на эту рекомендацию авторитетно ссылается Радченко.

С другой стороны, все сообщения датируются 2008-2009 годом, а сама статья на ИТС и того старше, поди. Может быть что-то поменялось, просто я не знаю где почитать более актуальную статью?

Еще один, самый главный момент для сомнения в том, есть ли разница в работе методов Справочники.Номенклатура.Выбрать() и Запрос.Выполнить().Выбрать().
Да, типы возвращаются разные, но сам механизм и запросы, которые отправляются к БД? Возможно ли, что такая выборка порциями относится только к выборке при обращении к менеджеру объекта, или же с выборкой запроса механизм одинаковый?

Складывается ощущение, что я не правильно понял статью и под динамической выборкой подразумевается именно выборка из менеджера объекта, а не из результата запроса. Действительно, как, например, в сложном "навороченном" запросе выбрать строки с 25 по 50?

Коллеги, кто-то еще интересовался этим?

воскресенье, 4 августа 2013 г.

Есть такая работа!

Пенделье (фр.), пендельеро (исп.) - ведущий тренингов личностного роста.

(с) Уползище