Запрос vs Объект + результат эксперимента, вполне реального

01.11.12

Разработка - Запросы

Использование 1с-запроса для доступа к данным имеет преимущество в скорости перед объектной моделью при ожидаемом объеме выборки более 10 000 ссылок. Конкретный результат: 0.07 секунды при запросе против 0.0023 секунды при использовании объектной модели.

Скачать файлы

Наименование Файл Версия Размер
Выгрузка тестовой базы
.dt 924,59Kb
18
.dt 924,59Kb 18 Скачать
ПриПолученииДанных
.epf 8,08Kb
3
.epf 8,08Kb 3 Скачать

Каждый 1снег «знает», что «в восьмерке надо использовать запросы». В первую очередь это – результат работы отдела маркетинга «флагмана». Сами же 1снеги (старого поколения) так ненавидели запросы в 7-ке, что повелись на подачу «флагмана» весьма охотно и некритически. А потом это стало так же привычно, как «всемирность» ньютонова тяготения.

Повод для сомнения дал ламерский вопрос на ИС. Нет, поначалу дружные вопли «Запрос! Запрос!» ничего не вызвали, кроме желания, чтобы орали по-тише. Зацепила совершенно фантастическая конструкция автора вопроса:

ДокументОбъект = Документы.ЖурналПроизводственныхЗаданий.ПолучитьСсылку(Ссылка).ПолучитьОбъект();
КопируемоеЗначение = ДокументОбъект.СпецификацияУзлов.ВыгрузитьКолонку(Колонка).Получить(Строка-1);

 

А потом в подсознании всплыло, что скульные базы еще в семёрошные времена рекомендовались для объемов и надёжности, а в скорости локальные файловые скуль превосходили.  И как-то сам собой набросался простенький тестик, см. пост (12) в той ветке.

Объектная модель не просто оказалась быстрее, а прямо таки уделала запрос.

Замечания коллеги sonuchin3  несколько снизили накал страстей, и было решено доработать условия теста, чтобы получить цифры достаточно сопоставимые с учетом кэширования.

В серии тестовых 100 000-ных циклов проводились обращения к разным количествам оригинальных ссылок, результат – см. табличное поле на рисунке.

Тестовая конфигурация – с массивом документов и обработкой – прилагается.

**

Однако, этот тест всего лишь выявил для моей конфигурации (железо, ось), что для выборки до двух сотен ссылок емкость кеша позволяет  объектной модели за свой счет обогнать запросную в 500-ном цикле.

Т.е. мы всего лишь получили исходные цифры для эксперимента: 500 раз возьмем из массива документов порции по 200 ссылок, это и даст нам хорошее сравнение способов доступа к данным - для этого конкретного, простейшего на самом деле, случая.

ЧАСТЬ 2. Результаты эксперимента, приближенного к реальности.

Для сравнения скорости доступа к данным был поставлен следующий эксперимент.

На форме создана таблица типа ДокументСписок.РеализацияТоваровУслуг

В таблицу добавлена колонка с полем ввода типа СправочникСсылка.Номенклатура

На форме размещен радио с двумя позициями – способами получения данных:

0 – запросом, 1 – объектом

 

Для таблицы определен обработчик ПриПолученииДанных

В зависимости от положения радио колонка Номенклатура заполнялась тем или иным способом.

 

 

 

Для обоих положений радио:

  1. текущая строка помещалась вверх списка
  2. включался замер производительности
  3. текушая строка стрелкой вниз перемещалась по списку до конца
  4. снимался скрин замера

 

Результаты представлены на картинках:

 

Складывая значимые цифры, получаем

Для способа запросом: 0,07 сек

Для объектом: 0,0023 сек

 

Обработку можно скачать и попробовать.

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122178    670    389    

714

Для чего используют конструкцию запроса "ГДЕ ЛОЖЬ" в СКД на примере конфигурации 1С:ERP

Запросы СКД Платформа 1С v8.3 Запросы Система компоновки данных 1С:ERP Управление предприятием 2 Бесплатно (free)

В типовых конфигурациях разработчики компании 1С иногда используют в отчетах, построенных на СКД, такую конструкцию, как "ГДЕ ЛОЖЬ". Такая конструкция говорит о том, что данные в запросе не будут получены совсем. Для чего же нужен тогда запрос?

13.02.2024    5746    KawaNoNeko    23    

23

Набор-объект для СКД по тексту или запросу

Запросы СКД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    2000    2    Yashazz    0    

29

Запрос 1С copilot

Инструментарий разработчика Запросы Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Пишем на человеческом языке, что нам надо, и получаем текст запроса на языке 1С. Используются большие языковые модели (LLM GPT) от OpenAI или Яндекс на выбор.

5 стартмани

15.01.2024    6286    31    mkalimulin    25    

50

PrintWizard: поддержка представлений ЗУП в конструкторе

Инструментарий разработчика Запросы Платформа 1С v8.3 Бесплатно (free)

Одной из интересных задач, стоящих в процессе разработки, была поддержка механизма представлений в ЗУП. Но не просто возможность исполнения запросов с ними. Основная проблема была в том, чтобы с ними было удобно работать, а именно: создавать, модифицировать и отлаживать. Кратко о том, что в итоге получилось...

14.12.2023    1742    vandalsvq    7    

29

Объектная модель запроса "Схема запроса" 2

Запросы Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

Далеко уже не новый тип данных "Схема запроса". Статья о том, как использовать его "попроще". Примеры создания текста запроса с нуля и изменение имеющегося запроса.

06.12.2023    5388    user1923546    26    

43

Начните уже использовать хранилище запросов

HighLoad оптимизация Запросы

Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.

11.10.2023    16186    skovpin_sa    14    

98
Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
102. tango 506 31.10.12 18:02 Сейчас в теме
(99) logos, оба-на! знаменитые РАЗРЕШЕННЫЕ от mxm2 :)
до скл так и не добравшиеся :(
где-то в "кластере" скушанные нуралиевыми :(
103. AlexO 135 31.10.12 18:12 Сейчас в теме
(102)
так затем я и просил из профайлера данные, чтобы жирную точку поставить :)
106. tango 506 31.10.12 18:39 Сейчас в теме
(103) AlexO, возникает вопрос, когда же "кластер" получает права из скл? не при начале ли работы системы? тогда обновляется ли конфа динамически, если поправить текст "запроса" условий рлс?
113. AlexO 135 01.11.12 09:23 Сейчас в теме
(106)
когда же "кластер" получает права из скл?

Михаил, вы же знаете, что все, что связано с платформой - закрытая информация :)
RLS - это закрытый механизм (или "объект") конфигурации, хранится вместе с ней, и когда 1с начинает её юзать - я могу только догадываться, что тогда же, когда и накладывает матрицу ролей (не зря RLS жестко привязан к ролям) на объекты.
тогда обновляется ли конфа динамически, если поправить текст "запроса" условий рлс?

ни в коем разе.
RLS содержится в структуре конфигурации, и изменение RLS без сохранения конфы воздействия не возымеет - как и аналогичное изменение любого "объекта" конфигурации без сохранения конфы.
104. mxm2 1263 31.10.12 18:35 Сейчас в теме
(102) про скорость при РАЗРЕШЕННЫХ не было утверждения, было утверждение про простоту ). хотя это, конечно-же "кидалово". и нет надежды что это исправят ((.
105. tango 506 31.10.12 18:37 Сейчас в теме
(104) mxm2, да ладно. тут с кодом коллеги kiros разобраться бы
126. mxm2 1263 03.11.12 07:37 Сейчас в теме
(98) logos, Про РАЗРЕШЕННЫЕ. Результат получен через профайлер MS SQL 2008, на базе УТ11, под пользователем с некоторыми ограничениями прав:
Прикрепленные файлы:
132. logos 208 06.11.12 09:34 Сейчас в теме
(126) mxm2, А где Вы этот запрос получили? Я использовал консоль запросов, а у Вас идёт ещё какой то джойн с регистром сведений, не всё так "чисто"
133. mxm2 1263 06.11.12 10:10 Сейчас в теме
(132) logos, запрос формировался тупо из модуля формы обработки; запрос - тот самый, который указан на рисунке; поле "r45" - использовалось как идентификатор для быстрого поиска в куче результатов,

аналогичные результаты были получены при запросе к иным справочникам, с настроенными ограниченями прав.

Если это поможет могу выложить полные тексты оттранслированных запросов полученных через профайлер.

Джойн видимо и делает RLS...
135. AlexO 135 06.11.12 11:18 Сейчас в теме
(133) mxm2,
у вас в (126) какая-то каша (что не удивительно), т.к. в RLS-запросе тоже может быть сложное условие-соединение, в том числе - к каким-либо регистрам, и - ЕСТЕСТВЕННО! - при выполнении этого запроса должны же данные этого регистра быть получены из базы SQL? или нет?
Но это ни в коей мере не значит, что RLS ОТРАБАТЫВАЕТ в SQL.
Некие данные необходимые для проверки условия - берет, как же иначе, если они только в базе и есть (объясняю, кто еще не понял: если RLS требует данные регистра - ему их неоткуда взять, кроме как запросить этот самый регистр в базе SQL, если база у нас SQL-ная).
Так что у вас совершенно непонятно что приведено в качестве "примера RLS", что там накручено в самом RLS, что выбирается для этого условия...
logos сделал чистый и прозрачный "запрос" SQL, а вы - потерялись среди камней и фантазируете :)
140. mxm2 1263 06.11.12 15:14 Сейчас в теме
(135) AlexO,

logos сделал чистый и прозрачный "запрос" SQL, а вы - потерялись среди камней и фантазируете :)


logos - полагаю, немного ошибся,

а Вы развивайте фантазию, возможно при помощи обработки из 139 поста.

ЗЫ: таки "Разрешенные" - влияют на запрос к SQL
139. mxm2 1263 06.11.12 15:12 Сейчас в теме
(132) logos, Кажется нашел причину почему у Вас такой простой запрос на выходе: посмотрите в своей консоли запросов, а нет ли там Установки Привилегированного Режима, в этом случае такой как у Вас запрос получается. Во вложении простейшая обработка по запросам к базе.
Прикрепленные файлы:
ЗапросыКБазе.epf
142. logos 208 06.11.12 15:35 Сейчас в теме
(139) mxm2, Бухгалтерия 2.0, пользователь зарезан по самое немогу, видит всего 1 организацию.
Запускаю Вашу обработку:
exec sp_executesql N'SELECT
T1._IDRRef,
@P1
FROM _Reference52 T1 WITH(NOLOCK)',N'@P1 nvarchar(3)',N'пфы'
- с "Разрешенные"

exec sp_executesql N'SELECT
T1._IDRRef,
@P1
FROM _Reference52 T1 WITH(NOLOCK)',N'@P1 nvarchar(3)',N'пфы'
- без "Разрешенные"
143. mxm2 1263 06.11.12 15:48 Сейчас в теме
(142) logos, а УТ 11 у Вас нет?
Рискну предподложить, что, возможно дело в "Режиме совместимости" конфигурации, у меня в УТ он выставлен как "Не использовать". Сейчас попробую проверить. (Добавлено: предположение не подтвердилось)
144. logos 208 06.11.12 15:55 Сейчас в теме
(143) mxm2, Возможно, какие то простые выражения оно и транслирует в sql запрос, но в бухгалтерии довольно сложный запрос
146. mxm2 1263 06.11.12 16:16 Сейчас в теме
(144) logos,
Возможно, какие то простые выражения оно и транслирует в sql запрос, но в бухгалтерии довольно сложный запрос


не вижу принципиальной разницы с точки зрения реализации трансляции простого или сложного запроса.
к тому-же "огроменные" запросы из отчетов, тоже существенно видоизменяются, путем джойнов с регистрами сведений. Полагаю, что механизм там единый.
147. mxm2 1263 06.11.12 16:48 Сейчас в теме
(144) logos, В БП20 - запросы транслируются практически 1 в 1 (и нет разницы между с/без Разрешенные),
а вот в УТ11 - все совсем наоборот. Это факт, но от чего это поведение системы зависит - пока непонятно.
148. logos 208 06.11.12 17:27 Сейчас в теме
(147) mxm2, Естественно не ставил. Может ещё проблема с шаблонами, таки черный ящик эти РЛС
160. AlexO 135 07.11.12 10:45 Сейчас в теме
(148) logos,
таки черный ящик эти РЛС

запросы предыдущих редакций неплохо поддаются разбору, а вот новый тип - через закрытые регистры и соединения между ними, - совершенно не отслеживаем, т.к. невозможно увидеть исходные данные в закрытых регистрах, чтобы понять, что на самом деле РЛС там находит и сравнивает между собой, получая искомое.
161. tango 506 07.11.12 10:50 Сейчас в теме
(160) AlexO, я что-то пропустил? что такое закрытый регистр?
165. AlexO 135 07.11.12 11:08 Сейчас в теме
(161)
что такое закрытый регистр?

да 1С нафирачела в платформу всяких идиотских "регистров" типа СвойстваОбъектов, в которых нельзя напрямую посмотреть, что же в них поназаписано....
Это которые "Не предназначены для редактирования пользователем".
Что делает практически невозможной отладку запросов RLS новых конфигураций с перелопаченной структурой.
Сейчас попробовал найти - что-то не могу не нашел ни запросов новых, ни регистров таких, хотя в УПП 1.3 где-то такое было...
Пока только вижу запросы RLS старого типа.
170. tango 506 07.11.12 11:24 Сейчас в теме
(165) AlexO, это: ПеречислимыеСвойстваОбъектовМетаданных - ?
Метаданные.СвойстваОбъектов. - ?
181. AlexO 135 07.11.12 11:48 Сейчас в теме
(170)
ПеречислимыеСвойстваОбъектовМетаданных

у меня такого регистра нет в УПП, но точно помню - были недостпуные регистры, и были запросы новые на их основе.
Я тогда сунулся дебажить такой запрос - провозился, плюнул, и написал по старому.
189. AlexO 135 07.11.12 12:33 Сейчас в теме
(170)
да что ж это такое-то...
в Документообороте новом я это видел, что ли, эти новые РЛС...
163. mxm2 1263 07.11.12 10:57 Сейчас в теме
(160) AlexO,
запросы предыдущих редакций неплохо поддаются разбору, а вот новый тип - через закрытые регистры и соединения между ними, - совершенно не отслеживаем, т.к. невозможно увидеть исходные данные в закрытых регистрах, чтобы понять, что на самом деле РЛС там находит и сравнивает между собой, получая искомое


таки есть?... к чему тогда юмор про черную кошку? или это для развития фантазии?
167. AlexO 135 07.11.12 11:14 Сейчас в теме
(163) mxm2,
таки есть?

что есть?
... к чему тогда

да, что "к чему"?
вы вырвали из разных сообщений - разные цитаты на разные вопросы, и пытаетесь меня запутать? :)
169. mxm2 1263 07.11.12 11:20 Сейчас в теме
(167) AlexO, наша с Вами полемика уже не имеет смысла.
177. AlexO 135 07.11.12 11:38 Сейчас в теме
(169) mxm2,
наша с Вами полемика уже не имеет смысла.

да уж, в студенческих посиделках самое важное - это развитие студентов и самообразование их друг от друга.
У вас - только самообман, нежелание видеть очевидного и верчение на одном месте.
180. mxm2 1263 07.11.12 11:47 Сейчас в теме
(177) AlexO, не передергивайте, например,
- изменение запросов в SQL от "Разрешенные" (в УТ11) - факт,
- то что можно настроить 1С Сервер + MSSQL - на одной машине, без конфликтов - тоже факт.
- то что запросы часто (ну или хотябы иногда) получают данные быстрее, чем с использованием объектной модели - факт.

ну, а про одно место - вы правы, но и вы на нем тоже вертитесь)
184. AlexO 135 07.11.12 11:51 Сейчас в теме
(180) mxm2,
опять вы про свои три сосны... выходите уже в чистое пространство...
отвечу только на
- то что можно настроить 1С Сервер + MSSQL - на одной машине, без конфликтов

- настроить можно преркасно все, только вот со временем непродолжительным перестает работать такая связка.
Ну, а если и не работать в 1с - тогда будет вечно "крутиться 1с и SQL в едином порыве".
185. mxm2 1263 07.11.12 12:01 Сейчас в теме
(184) AlexO, у нас с вами противоречий кроме этих трех сосен и небыло...)))
настроить можно преркасно все, только вот со временем непродолжительным перестает работать такая связка.

Со времением все перестает работать. но есть такой показатель: все работает 1 год, базы УТ11, БП20, ЗиУП, ну и мелочь, там старые 7 базы и тд (размером в общей сложности 50 Гб) - все работает, без затыков.
186. AlexO 135 07.11.12 12:15 Сейчас в теме
(185) mxm2,
это потому что вы не представляете, что и как и где работает, но кидаететсь профайлером и пытаетесь делать выводы из этого :)
все работает 1 год, базы УТ11, БП20, ЗиУП

УТ - практически никакого обсчета, одни забивания документов (ладно - "и всякие запросики под отчетики, не сильно напрягающие систему").
БП - практически никакого обсчета (только если период закрыть и итоги подрасчитать, но ничего "тяжелого")
ЗУП - и говорить нечего про тяжелые обсчеты.
Я же сказал вам - вы просто не работаете в 1С.
Если бы 1с и позиционироалась как калькулятор, подобный по типу как у вас "работает" - то и не было много чего, в том числе и этого сайта.
Но 1с лезет в область системы управления предприятием...
188. AlexO 135 07.11.12 12:20 Сейчас в теме
(185) mxm2,
и даже больше скажу - бывал на предприятии, где уже даже УТ и БП не смогли ужиться на вполне современном серваке, 2хпроцесоррный, 12 ГБ ОЗУ - процесс БП отжирал под 8 гигов под конец дня.
А только лишь документы забивали, сервер, можно сказать, даже не просыпался :)))
А вы тут с профайлером и 1с+SQL-на-одном-железе....
Студенческие посиделки, приуроченные к изучению профайлера на очередной лабе :) ...
190. mxm2 1263 07.11.12 12:40 Сейчас в теме
(188) AlexO, у меня в работе 24 ГБ тоже 2х процовая система, и знаете хватает)... может как раз потому, что настроено все "как надо"?, ну и естественно с профайлером никто долго не балуется во время особенно пиковых нагрузок.

Да, и образование у меня не программерское (про лабы), да и не скучаю по студенческой жизни, скорее по аспирантской )).
197. AlexO 135 07.11.12 15:25 Сейчас в теме
(190) mxm2,
может как раз потому, что настроено все "как надо"?

смешной вы человек: если 1с потребовалось 8 Гб, а вы ей выделили "настроили как надо" 6ГБ - она как нормальное приложение, будет ужиматься в 6?
198. tango 506 07.11.12 15:33 Сейчас в теме
(197) AlexO, она будет думать, где взять еще две
208. AlexO 135 08.11.12 09:39 Сейчас в теме
(198)
она будет думать, где взять еще две

точно, а потом еще будет думать - а не взять ли еще парочку сверху, чтобы два раза не думать потом :))
199. mxm2 1263 07.11.12 16:21 Сейчас в теме
(197) AlexO, известно что rphost - неохотно освобождает память, но его можно ограничивать, и более того сервер 1с умеет распределять нагрузку между разными rphost-ами, также сервер 1с умеет убивать "зазнавшийся" rphost, пользователи при этом не страдают... и знаете все это реально работает. Во время формирования тяжелых отчетов происходит следующее какой-то rphost резко увеличивает размер занятой памяти, но к моменту отработки отчета, система его пришибает, и вывод результата исполняет как правило уже другой rphost. Если же у вас какая-то операция требует единовременно 8 Gb... для одного пользователя... возможно что-то не так с алгоритмом, у меня такого не наблюдается )
207. AlexO 135 08.11.12 09:38 Сейчас в теме
(199) mxm2,
и более того сервер 1с умеет распределять нагрузку между разными rphost-ами

Это доводить каждый из них до размеров используемой памяти? :)
также сервер 1с умеет убивать "зазнавшийся" rphost

интересно, это как? работают-работают пользователи в rphost'е, а их - раз, - и посчитали зазанавшимися?
но к моменту отработки отчета, система его пришибает, и вывод результата исполняет как правило уже другой rphost.
у вас что - один пользователь - один rphost? не удивительно, что у вас "усе работает, шеф!", т.к. никто не работает :)
операция требует единовременно 8 Gb... для одного пользователя...
да, именно так - у вас один пользователь - один процесс..
Веселая конторка, такой сервер - на пять человек купить :)
209. sanfoto 502 08.11.12 10:03 Сейчас в теме
(207) AlexO,
, а их - раз, - и посчитали зазанавшимися?

Не придирайтесь к словам, человек имел ввиду что можно настроить Максимальный размер используемой памяти на процесс 1с.
и вы это прекрасно поняли, но нет продолжаете свою логорею ))
http://ru.wikipedia.org/wiki/%D0%9B%D0%BE%D0%B3%D0%BE%D1%80%D0%B5%D1%8F

и таки батенька обходите стороной пункт 3) из ниже описанной цитаты))...

1)сервер 1с - использует SQL - просто как хранилище данных, не используя всех его возможностей
Вы согласны и я согласен))

2)сервер 1с - прокручивает всю работу с объектами внутри себя(в RAM) -
думаю и Вы согласны и я согласен))

3)Таким образом для "Сервер 1с" - очень критична скорость(задержки) работы с Оперативной памятью + скорость(задержки) работы с SQL.

а вот тут вы не согласны... не странно ли? )))
211. AlexO 135 08.11.12 10:10 Сейчас в теме
(209) sanfoto,
что можно настроить Максимальный размер используемой памяти на процесс 1с

и как это соотносится с
также сервер 1с умеет убивать "зазнавшийся" rphost
?
так, как я описал в (207)? :)
и таки батенька обходите стороной пункт 3)

быстрый вы, а говорите - не студент :)
читайте в (210)...
222. sanfoto 502 08.11.12 10:43 Сейчас в теме
(211) AlexO,
что можно настроить Максимальный размер используемой памяти на процесс 1с
и как это соотносится с
также сервер 1с умеет убивать "зазнавшийся" rphost


а относится просто)) процесс перезагружается если использует больше Памяти чем ему прописано.
Вы смотрели вообще параметры хотя-бы эти? ))
вот например
224. AlexO 135 08.11.12 10:48 Сейчас в теме
(222) sanfoto,
процесс перезагружается

ну да, перезагружается...
И даже больше, если вдруг ему и удается перезагрузится самостоятельно, без внешнего пинка, он еще и пользователей с собой, бывает, "прихватывает" - пара тем уже была про использование этих "хитропопых" параметров в рабочих условиях...
225. tango 506 08.11.12 10:52 Сейчас в теме
(224) AlexO, фигня в том, что если без этих галок - то тупой перезагруз, а это всех - нафих. а так - только одного, прожорливого.
фигня на фигне - что именно этот прожорливец может оказаться критичным по жизни, а выгнать всех, хоть и гемор, зато без заведомой возможности потери.
вот так и жрем, блин, кока-колу
227. AlexO 135 08.11.12 11:02 Сейчас в теме
(225)
что именно этот прожорливец может оказаться критичным по жизни

так в этом и есть "инновации" по 1С - обозвано "распределение нагрузки между процессами", что волнует и смущает умы коллег, а на деле - какая-то коряга с галочкой.
(226) sanfoto,
и как у Вас увязано
И именно поэтому еще более критична скорость обмена между "сервер 1с" и "SQL".

и
как раз все не оптимально и тянется и запрашивается гора лишнеего))

с
я говорю про то как ОПТИМИЗИРОВАТЬ его <1С-сервера> работу
?
Так как оптимизировать-то через скорость обмена и SQL? :)
229. sanfoto 502 08.11.12 11:12 Сейчас в теме
(227) AlexO,
опять двадцать пять
я начинаю чувствовать что веду лекции для вас))

то вы утверждаете что процессы 1с не могут перезапускаться... потом соглашаетесь наконец.

теперь вам надо объяснить что на "скорость обмена SQL<--->сервер 1С" влияют задержки канала связи + упаковка/распаковка информации из протоколов связи, а не только его (канала связи) пропускная способность.
231. tango 506 08.11.12 11:13 Сейчас в теме
(229) sanfoto,
я начинаю чувствовать что веду лекции для вас

это же хорошо
как ТС я очень рад
235. AlexO 135 08.11.12 11:52 Сейчас в теме
(231)
поставил плюс за сообщение - а то что - оппоненты друг друга плюсуют почем зря, а нам что, нельзя? :)
236. tango 506 08.11.12 11:55 Сейчас в теме
(235) AlexO, мне бы маней, а то 2,76 в активе :(
238. AlexO 135 08.11.12 11:59 Сейчас в теме
(236)
отправил 10 :)
обработки коллег скачивать :)
233. AlexO 135 08.11.12 11:48 Сейчас в теме
(229) sanfoto,
я начинаю чувствовать что веду лекции для вас))

хорошо, тогда в рамках лекции:
как мне оптимизировать работу 1с-сервера (тормозит, гад) через "скорость обмена SQL<--->сервер 1С" влияют задержки канала связи + упаковка/распаковка информации из протоколов связи"?
Чтобы не тормозил больше, например - на поверхности, - при обсчете себестоимости? Хотя б за 3 месяца?
Я понимаю, что на 6 месяцев - тут, видимо, одним каналом связи и скоростью SQL не обойдешься, тут надо еще свитчок поставить 10гигабитный навроде Cisco Catalyst 6500....
242. sanfoto 502 08.11.12 13:39 Сейчас в теме
(233) AlexO,

Продолжаем лекцию)) и КИСКА вас не спасет)) в сотый раз говорю задержки высокие))

Основными параметрами коммуникационной среды являются латентность (latency, время пересылки сообщения нулевой длины) и максимальная пропускная способность(bandwidth, максимальное количество информации которое можно переслать за единицу времени)
Латентность для Gigabit Ethernet порядка 60 мс


1)может спасти только ТЕОРЕТИЧЕСКИ infiniband (Латентность 1-3 мс) - но там драйвер нужно писать и заставить через него работать 1с)).

2)или увеличиваем размер пакета ms sql - но там глюки можно словить с некоторыми службами.. например Бэкапы не будут делаться если сильно большой размер пакета укажем))
243. sanfoto 502 08.11.12 13:43 Сейчас в теме
+ к (242) sanfoto,
у меня локально(на тестовом сервере) скорость TCP = 4.5 Гигабит при пакете 4 килобайт.
весь ваш Ethernet нервно курит в сторонке))

PS:
это для TCP я указал, а вообще использую Named Pipe(все на одном сервере) между SQL и Сервером 1с...
и т.к. все локально то Named Pipe практически = Shared Memory и рвет естественно даже локальный TCP

что же тут говорить еще об вашем горячо любимом Ethernet-е? ))
244. AlexO 135 08.11.12 16:51 Сейчас в теме
(243) sanfoto,
скорость TCP = 4.5 Гигабит

т.е. у вас скорость TCP измеряется отдельно? Минуя все остальные уровни сетевой модели?
это для TCP я указал, а вообще использую Named Pipe... то Named Pipe практически = Shared Memory

книжку "Настрой сеть своими руками" закройте, и попробуйте понять, что вы прочитали, понаделали у себя, и что пишите здесь :)
И как "практически" Named Pipe соотносится с Shared Memory :)
248. sanfoto 502 09.11.12 06:26 Сейчас в теме
(244) AlexO,
1) TCP замеряем утилитой Iperf интересовали пакеты 4 килобайта- дефолтные для MS SQL
http://ru.wikipedia.org/wiki/Iperf
Скорость:
- 1 Gigabit Ethernet(пакеты 4 Кб, TCP) = 250 Мбит/с
- localhost(пакеты 4 Кб, TCP) = 4.5 Гбит/с(зависит от скорости CPU и CPU-RAM)

2)уважаемый читайте внимательней ЛОКАЛЬНО named pipe
Читайте хотя-бы иногда MSDN что ли))
"Local named pipes runs in kernel mode and is extremely fast"- перевод -"Локальные именованные каналы работают в режиме ядра и очень быстро"

http://msdn.microsoft.com/en-us/library/aa178138(SQL.80).aspx
и я написал ПРАКТИЧЕСКИ = Shared memory по скорости)), а не то что это абсолютно одно и то же.

AlexO - ну если и это вам ничего не доказывает, мне уже надоело проводить обучение...
либо Вы Тролите)) либо Фанатик... либо не способны к Обучению))

Всем пока покидаю данную ветку Обсуждений.
257. AlexO 135 09.11.12 18:10 Сейчас в теме
(248) sanfoto,
итак, Sanfoto ушел, ждать его не считаю болше нужным.
Поэтому опять придется разгонять муть студентов-1сников в одиночестве.
Shared memory - не используется для передачи данных между SQL и 1С, начиная с SQL2000 (связано с MDAC, протокол SM в котором в новой версии не совместим протоколом SM в SQL), только - для системных процессов.
Shared memory и Named Pipes - технологии, созданные для решения разных задач, хотя и в одной среде: SM "объединяет" в памяти два локальных процесса, причем "объединение" происходит на уровне какого-то блока данных: доступ к такому блоку имеет множество локальных процессов.
SM не используется для передачи данных, только для отладки или системных нужд.
Named Pipes - наоборот, протокол "сетевого" обмена, эмуляция в памяти "трубы", которая виртально соединяет два процесса в памяти по типу "выход на одном - вход на другом".
Использование Named Pipes вместо TCP\IP не дает заметного прироста производительности/скорости обмена (если он есть вообще, этот прирост), зато может привести к ошибкам и проблеам вплоть до неработоспособности сервера как сетевого приложения.
Притом что при локальном запуске - когда сервер 1С и SQL на одной машине, и где, якобы NP быстрее "по определению" (хотя все "определение" это включает лишь одно: "NP более новая технология, поэтому - априори быстрее), - TCP\IP работает по loopback, что значительно быстрее настоящего сетевого соединения (Ethernet, к примеру, Gigabit Eth или оптика, конечно, дело другое).
Понятное дело, что Named Pipes "изобретена" как альтернатива медленным сетевым соединениям, и при нынешнем развитии сетей совершенно не актуальна (что и подтверждено практикой - разницы никакой не замечено хоть по хорошей сети, хоть локально).
Откуда и почему Sanfoto вдруг вздумалось сравнивать SM и NP - непонятно.
Впрочем, шапкозакидательсство, головокружение от кажущейся "простоты" управления сложными программами (а никто и не задумывается, что "простота" настроек/админситрирования - она ведь кем-то сделана, продумана и выверена, и далеко - не в Россиянии; научившись нажимать "Ок" - не становишься на один уровень знаний с создавшим "Ок"), нагромождение терминов и поток малосвязанных умных слов из разных, порой взаимоисключающих, областей - вполне нормальное являение для современных россиянских "айтишников", и 1с-ников - в частности.
260. hogik 443 09.11.12 19:22 Сейчас в теме
(257)
"Откуда и почему Sanfoto вдруг вздумалось сравнивать SM и NP - непонятно."(с)
Вроде он не эТТо сравнивает.
Мысли, слова, термины, соображения и т.д. "идут" из этой темы: http://infostart.ru/public/147259/
261. hogik 443 09.11.12 23:13 Сейчас в теме
(257)
"...на одной машине, и где, якобы NP быстрее "по определению" (хотя все "определение" это включает лишь одно: "NP более новая технология, поэтому - априори быстрее)"(с)

Вот подолью информацию для размышления: http://habrahabr.ru/post/81067/
И как написал Автор темы: "Обработку можно скачать и попробовать." :-)
254. logos 208 09.11.12 15:49 Сейчас в теме
(243) sanfoto, А расскажите пожалуйста, как Вы смогли сделать Named Pipes между сервером 1С v <= 8.2.16 и MS SQL? А то я грешным делом отчаялся подружить их между собой каким либо иным способом кроме tcp/ip. Правда в 8.2.17 добавляют shared memory, но и он кагбэ "тест онли". Если есть великое недокументированное колдунство, буду премного благодарен.
255. AlexO 135 09.11.12 17:31 Сейчас в теме
(254) logos,
а в чем проблема?
В Network Utility и SQL Server Client Network Utility что настроено?
Правда в 8.2.17 добавляют shared memory

Пусть добавляют, оно все равно не работает уже начиная с SQL Server 2000...
256. logos 208 09.11.12 17:37 Сейчас в теме
(255) AlexO, Так в том и дело. Разрешен протокол Named Pipes, а цепляется всё равно по tcp/ip
258. AlexO 135 09.11.12 18:15 Сейчас в теме
(256) logos,
а цепляется всё равно по tcp/ip

а цепляться и будет по TCP, т.к. 1С только по этому протоколу связывается с SQL (юзание ADOBD обязывает, 1С не осилит написание системных сокетов).
А потом, если настроено - будет виртаулизироваться в Named Pipers.
234. AlexO 135 08.11.12 11:51 Сейчас в теме
(229) sanfoto,
то вы утверждаете что процессы 1с не могут перезапускаться

почему же я так утвеждаю? :)
Очень даже часто сам перезапускаю зависших пользователей, несмотря на все настройки со вкладки (222), в том числе и по времени работы...
228. AlexO 135 08.11.12 11:09 Сейчас в теме
(225)
что именно этот прожорливец может оказаться критичным по жизни,

кстати, именно потому, что он, этот пользователь, реально работает в 1С и пользует её не как счетную машинку (главбух, финдир..) - "его" процесс и занимает больше всех, и пользователь с точки зрения работы с базой - самый критичный...
А остальные статисты - да, про них никто и не замечает.
Вообще, у меня такое впечатление, что это т.н. "рапределение нагрузки" - просто тупое обрывание сессии и восстановление её на другом rphost.
Соответственно, у статистов этого не заметно (статически же все у них на экране), а вот кто он-лайн пользует - получает дулю в нос и кулаком поддых...
230. tango 506 08.11.12 11:13 Сейчас в теме
(228) AlexO,
просто тупое обрывание сессии

ну да. терзали смутные подозрения, только словами не мог выразить
232. tango 506 08.11.12 11:19 Сейчас в теме
(228) AlexO, и ладно бы отчетики всякие там, расчетики-фиготики. а если оно зогружает чего-нибудь? вот чего са-а-авсем не хочется
215. mxm2 1263 08.11.12 10:21 Сейчас в теме
(207) AlexO, пользователей у меня немного: порядка 70, (круглосуточно ~10). Сервер 1С умеет перераспределять нагрузку. и мой пример не единственный, УТ кстати достаточно тяжелые "вещи" иногда переваривает, по крайней мере тоже самое в файловом варианте на средней машине локально работает до нескольих минут.

а вообще: читайте книжки, желтые такие - должно помочь, попробуете, убедитесь.

мне не пишите... общаться с вами "подобным тоном" не имею желания, надоело знаете-ли ).
217. AlexO 135 08.11.12 10:28 Сейчас в теме
(215) mxm2,
файловом варианте на средней машине локально работает до нескольих минут.

Не может такого быть :)
На ИС полно тем, и от "старожилов" в том числе, где УТ крутится в файловом варинте круглосуточно с сотнями пользвателей и кучей "мильен-записей"....
221. AlexO 135 08.11.12 10:41 Сейчас в теме
(215) mxm2,
а вообще: читайте книжки, желтые такие - должно помочь

Это по СУБД? т.е. все современные молодые/немолодые россяине СУБД по желтым книжкам узнают? :)
202. sanfoto 502 08.11.12 06:48 Сейчас в теме
(197) AlexO,
про студента в мою сторону вы загнули батенька))
я начал заниматься 1с еще с ДОС-овской 1с-ины)) .... считайте годы....

ладно все это лирика, разберем по порядку для 1с 8.х:
1)сервер 1с - использует SQL - просто как хранилище данных, не используя всех его возможностей
Вы согласны и я согласен))

2)сервер 1с - прокручивает всю работу с объектами внутри себя(в RAM) -
т.е. например различными SQL запросами собирает внутри себя объект, притом если мы обращаемся к реквизитам объекта через точку(т.е. в реквизите нашего объекта есть еще объекты) - еще одним или несколькими SQL запросами подтягивается информация... и т.д. и т.п.
думаю и Вы согласны и я согласен))

3)Таким образом для "Сервер 1с" - очень критична скорость(задержки) работы с Оперативной памятью + скорость(задержки) работы с SQL.

а вот тут вы не согласны... не странно ли? )))
193. sanfoto 502 07.11.12 14:17 Сейчас в теме
(188) AlexO,
... 12 ГБ ОЗУ


угу и таких десятки серверов в вашей практике? )) ооо крутяк целых 12 ГБ)))

Да у нас самое малое 32 ГБ на сервер.
Например есть у нас сервер1(32 ГБ) SQL+Сервер 1с 2-ух процовый норм тянет под 70 пользователей(онлайн) 1с УПП и + еще пару баз 7.7.
Раньше было разделено на два сервера(сервер1(SQL)+сервер2(сервер 1с)) - отказались имхо тормозило.
196. AlexO 135 07.11.12 14:55 Сейчас в теме
(193) sanfoto,
Да у нас самое малое 32 ГБ на сервер.

пойте, пойте - обвал цен на память последние два года - целый век для студентов.
и таких десятки серверов в вашей практике? ))

десятки разнообразных СЕРВЕРОВ 1С.
К вашему сведению, еще 5 лет назад лишние 4 ГБ серверной памяти стоили как полсервера.
Да, собственно, и сейчас недешево, а то, что ставят "сервера" из персоналок сплошь и рядом...
Ничего не меняется, поверьте, и 15 лет назад, с появлением серверных винд, все было тоже самое.
Некоторые студенты научились, а некоторые - так и остались студентами.
Например есть у нас сервер

И какая разница, что теперь ставят 128 ГБ, а раньше ставили 4-8-12ГБ? 1С не дремлет, возьмет и таких студентов за жабры.
Будете скитаться по форумам, искать причину "почему тормозит на 128 Гб памяти?"... :)
Как-будто первый раз...
Хотя для студентов - все в диковинку.
153. sanfoto 502 07.11.12 06:15 Сейчас в теме
(147) mxm2,
В БП20 - запросы транслируются практически 1 в 1

а RLS - точно там включен? ))
154. mxm2 1263 07.11.12 07:59 Сейчас в теме
(153) sanfoto, БП20 стандартная, есть ряд пользователей с ограничениями прав, обработку проверял из под такого ограниченного пользователя.
155. sanfoto 502 07.11.12 08:55 Сейчас в теме
(154) mxm2,
а RLS - какой, по организациям?

я не прикапываюсь)) просто вопрос RLS меня оччень интересует.. на днях запустим в УПП))
164. mxm2 1263 07.11.12 11:07 Сейчас в теме
(155) sanfoto, опыта общения с УПП - нет...

но в УТ11 - запросы существенно преобразуются на этапе исполнения в SQL.
а в БП2 - соответственно нет
166. AlexO 135 07.11.12 11:13 Сейчас в теме
(164) mxm2,
но в УТ11 - запросы существенно преобразуются на этапе исполнения в SQL.
а в БП2 - соответственно нет

разнозаточенные платформы 1С - для УТ и для БП? :)
168. mxm2 1263 07.11.12 11:18 Сейчас в теме
(166) AlexO,
конфигурации разные, опять же Ваши "закрытые регистры" :)

Полагаю, что дело в различной организации самой модели RLS в конфигурации.
171. tango 506 07.11.12 11:26 Сейчас в теме
(168) mxm2,
различной организации самой модели RLS в конфигурации

можно по-подробнее, что вы имеете в виду, для чайников типо меня?
173. AlexO 135 07.11.12 11:33 Сейчас в теме
(171)
можно по-подробнее, что вы имеете в виду

ну как же, Михаил, экий вы непонятливый! :)
Вот же, ясно он написал -
но в УТ11 - запросы существенно преобразуются на этапе исполнения в SQL.
а в БП2 - соответственно нет
, т.е. уже существует в студенческих кругах опытные 1с-ки, которые по-разному и запросы исполняют, и RLS трактуют, и вообще - к Венерам уже летают.. почти, осталось самую малость :))
175. tango 506 07.11.12 11:38 Сейчас в теме
(173) AlexO, могу представить себе ситуевину, что разрабы конф пишут похожие по смыслу 1с-запросы настолько по-разному, что скл-оптимизатор преобразует их в разные
179. AlexO 135 07.11.12 11:43 Сейчас в теме
(175)
что скл-оптимизатор преобразует их в разные

о чем я и толковал ранее - что оптимизатор запросов SQL не используется вовсе 1с-ом как ОПТИМИЗАТОР, а все затыки с производительностью - на уровне написания/трансляции запросов в/из 1С.
Т.к. в противном случае было бы однозначно ясно - оптимальный или нет данный запрос к базе относительно получаемых данных и выполнения.
176. mxm2 1263 07.11.12 11:38 Сейчас в теме
(171) в этой теме не считаю себя профи, но запросы по-разному транслируются в SQL из БП20 и из УТ11, в чем вы сами можете убедится используя обработку в 139 комменте.
178. tango 506 07.11.12 11:41 Сейчас в теме
(176) mxm2, та обраба, насколько я понял - УФ, как ее запустить из-под БП2.0 ?
183. mxm2 1263 07.11.12 11:50 Сейчас в теме
(178) подсмотрите код... он открыт. но в БП20 Вы ничего интересного не получите.
172. AlexO 135 07.11.12 11:30 Сейчас в теме
(168) mxm2,
Полагаю, что дело в различной организации самой модели RLS в конфигурации.

ну да, до различных платформ для БП и УТ уже договорились, а уж "различные реализации RLS у 1С" - совершенейший пустяк по сравнению с этим :)
Все, узнаю студенческие посиделки и фантазии на тему "космические корабли к Венере в 2015 году" :)
Только к обсуждаемой здесь 1с это ровным счетом никак не относится.
145. mxm2 1263 06.11.12 16:09 Сейчас в теме
(142) logos, Вы ведь галку "Привилегированный режим" не ставили?

Просто у меня никак не получается простой запрос без этой галки:

Без Разрешенные:

exec sp_executesql N'SELECT
CASE WHEN (EXISTS(SELECT
@P1 AS Q_002_F_000_
FROM (SELECT DISTINCT
@P1 AS SDBL_RLS_SIGNAL_,
T3._Fld6952RRef AS Q_001_F_000RRef
FROM _InfoRg6949 T3 WITH(NOLOCK)
INNER JOIN _InfoRg6448 T4 WITH(NOLOCK)
ON ((((T3._Fld6950 = @P2) AND (T4._Fld6449RRef = @P3)) AND (T4._Fld6450_TYPE = @P4 AND T4._Fld6450_RTRef = @P5 AND T4._Fld6450_RRRef = @P6)) AND (T4._Fld6452_TYPE = T3._Fld6951_TYPE AND T4._Fld6452_RTRef = T3._Fld6951_RTRef AND T4._Fld6452_RRRef = T3._Fld6951_RRRef))) T2
WHERE (CASE WHEN 0x01 IN
(SELECT
0x01 AS Q_003_F_000_
FROM _InfoRg6549 T5 WITH(NOLOCK)
WHERE (T5._Fld6550RRef = T2.Q_001_F_000RRef) AND (T5._Fld6551RRef = 0x91A4C8A3EF0EA8164D35D4F3C47CDF9A) AND (T5._Fld6552 = 0x00) AND (T5._Fld6553_TYPE = 0x08 AND T5._Fld6553_RTRef = 0x00000055 AND T5._Fld6553_RRRef = T1._IDRRef)) THEN 0x01 ELSE 0x00 END = CASE WHEN 0x01 IN
(SELECT
0x01 AS Q_004_F_000_
FROM _InfoRg6549 T6 WITH(NOLOCK)
WHERE (T6._Fld6550RRef = T2.Q_001_F_000RRef) AND (T6._Fld6551RRef = 0x91A4C8A3EF0EA8164D35D4F3C47CDF9A) AND (T6._Fld6552 = 0x01)) THEN 0x01 ELSE 0x00 END))) THEN @P1 ELSE @P7 END,
T1._IDRRef,
@P8
FROM _Reference85 T1 WITH(NOLOCK)', N'@P1 varbinary(1),@P2 nvarchar(22),@P3 varbinary(16),@P4 varbinary(1),@P5 varbinary(4),@P6 varbinary(16),@P7 varbinary(1),@P8 nvarchar(9)', 0x01, N'Справочник.Организации', 0x00000000000000000000000000000000, 0x08, 0x0000005A, 0xB72678E3B508CB8911E12EF8BAC475E8, 0x00, N'BezRazr00'
Показать


С Разрешенные

exec sp_executesql N'SELECT
T1._IDRRef,
@P1
FROM _Reference85 T1 WITH(NOLOCK)
WHERE (EXISTS(SELECT
@P2 AS Q_002_F_000_
FROM (SELECT DISTINCT
T3._Fld6952RRef AS Q_001_F_000RRef
FROM _InfoRg6949 T3 WITH(NOLOCK)
INNER JOIN _InfoRg6448 T4 WITH(NOLOCK)
ON ((((T3._Fld6950 = @P3) AND (T4._Fld6449RRef = @P4)) AND (T4._Fld6450_TYPE = @P5 AND T4._Fld6450_RTRef = @P6 AND T4._Fld6450_RRRef = @P7)) AND (T4._Fld6452_TYPE = T3._Fld6951_TYPE AND T4._Fld6452_RTRef = T3._Fld6951_RTRef AND T4._Fld6452_RRRef = T3._Fld6951_RRRef))) T2
WHERE (CASE WHEN 0x01 IN
(SELECT
0x01 AS Q_003_F_000_
FROM _InfoRg6549 T5 WITH(NOLOCK)
WHERE (T5._Fld6550RRef = T2.Q_001_F_000RRef) AND (T5._Fld6551RRef = 0x91A4C8A3EF0EA8164D35D4F3C47CDF9A) AND (T5._Fld6552 = 0x00) AND (T5._Fld6553_TYPE = 0x08 AND T5._Fld6553_RTRef = 0x00000055 AND T5._Fld6553_RRRef = T1._IDRRef)) THEN 0x01 ELSE 0x00 END = CASE WHEN 0x01 IN
(SELECT
0x01 AS Q_004_F_000_
FROM _InfoRg6549 T6 WITH(NOLOCK)
WHERE (T6._Fld6550RRef = T2.Q_001_F_000RRef) AND (T6._Fld6551RRef = 0x91A4C8A3EF0EA8164D35D4F3C47CDF9A) AND (T6._Fld6552 = 0x01)) THEN 0x01 ELSE 0x00 END)))',N'@P1 nvarchar(9),@P2 varbinary(1),@P3 nvarchar(22),@P4 varbinary(16),@P5 varbinary(1),@P6 varbinary(4),@P7 varbinary(16)',N'SRazreh00',0x01,N'Справочник.Организации',0x00000000000000000000000000000000,0x08,0x0000005A,0xB72678E3B508CB8911E12EF8BAC475E8
Показать



Привилегированный режим:
Без Разрешенные
exec sp_executesql N'SELECT
T1._IDRRef,
@P1
FROM _Reference85 T1 WITH(NOLOCK)',N'@P1 nvarchar(9)',N'BezRazr00'


С Разрешенные
exec sp_executesql N'SELECT
T1._IDRRef,
@P1
FROM _Reference85 T1 WITH(NOLOCK)',N'@P1 nvarchar(9)',N'SRazreh00'
158. AlexO 135 07.11.12 10:43 Сейчас в теме
(145) mxm2,
все еще ищете черную кошку в черной комнате в безлунную ночь?
на хвост уже наступили? :)
87. tango 506 31.10.12 16:44 Сейчас в теме
(85) kiros,
1. колонка статья - какого типа?
2. зачем запрос в цикле сделали, для "сравнимости"? в таком виде сравнимости не хочу
91. kiros 52 31.10.12 17:18 Сейчас в теме
(87) 1. Справочник статьи ДДС
2. Вообще не оптимизировал, и не претендую на абсолютную корректность, так число для спортивного интереса.
59. AlexO 135 31.10.12 15:53 Сейчас в теме
(55) kiros,
И... как многие догадались, на практике запросы дали тройной прирос

об этом уже давно было завлено самой 1С в лице её глашатаев от обучения :)
Потому что преобразование запрос-данные быстрее, чем объект-запрос-данные, тем более - 1С так и не научилась (и, видимо, никогда уже не научится) делать правильные "объекты" и в силу их "правильности" (читай, структурированности и "прозрачности") - очень быстро их обрабатывать.
в файловой вероятнее будет не так

в файловом же варианте все упирается в структуру хранения, реализованную в 1CD, которая тоже непонятно на какой свалке была взята :).
Поэтому там без особой разницы - запросы, объекты, - т.к. нет основного преимущества, которые дают запросы: 1С - ЭТО НЕ СУБД!!
78. tango 506 31.10.12 16:31 Сейчас в теме
(59) AlexO,
реализованную в 1CD, которая тоже непонятно на какой свалке была взята

FAT?
81. AlexO 135 31.10.12 16:35 Сейчас в теме
(78)
структура таблиц в 1CD не FAT :)
но крайне похожа на неё своей громозкостью, падениесклонностью и тормознутостью.
Не говоря уже про впадение в ступор при сетевой работе нескольких и более пользователей.
84. AlexO 135 31.10.12 16:39 Сейчас в теме
(78)
или имелось ввиду, что "там же, где и FAT"? :))
тогда да, именно там :)))
61. AlexO 135 31.10.12 15:57 Сейчас в теме
(55) kiros,
и это без возможной еще оптимизации

кстати, замена "объектных" выборок на запросы - давно признанный официальный способ "оптимизации".
100. tango 506 31.10.12 17:53 Сейчас в теме
107. RustamZz 31.10.12 18:50 Сейчас в теме
А кто-нибудь кроме автора смотрел код в обработке? Для чего там делается запрос в цикле? Почему не сравнивается быстродействие по-человечески написанного запроса и объектной модели? Предлагаю еще для сравнения добавить в документ реквизит хранилище значения и записать туда файл размером с полмегабайта, при этом ни в запросе ни в объекте не обращаться к нему явно. Объектная модель в таких условиях покажет все свои недостатки.
118. tango 506 02.11.12 10:37 Сейчас в теме
(107) RustamZz, публикация доработана. покритикуйте
108. mxm2 1263 31.10.12 20:27 Сейчас в теме
Тестировал последовательный доступ на рабочей (на момент тестирования не слишком нагруженной) базе MS SQL (обработка во вложении) УТ11, будет работать в любой, на управляемых формах. Во вложении также картинка с результатом теста.
Прикрепленные файлы:
ВнешняяОбработка1.epf
119. tango 506 02.11.12 10:41 Сейчас в теме
(108) mxm2, по коду ничего не скажу - только скачал, но спасибо за УФ - это должно быть следующим тестом
Оставьте свое сообщение