#0
by hame1e00n
Имеется очень большой результат запроса. Что больше жрет память? Выборка или выгрузка результата в ТЗ? То что выгрузка в таблицу значений сильно медленнее чем выборка, знаю - последняя оптимизирована только для чтения. А вот что насчет загрузки памяти? Одинаково или что-то предпочтительнее?
#5
by H A D G E H O G s
Ничто не мешает обрабатывать запрос кусками, поместив результат запроса во временную таблицу, задав запросу Менеджер временных таблиц и отсортировать по ключевому полю. И потом выбирать по аналогии с формой списка, ПЕРВЫЕ 1000, где КлючеваяКолонка>ПоследнееВыбранноеЗначение.
#7
by hame1e00n
Интересно) Возбму на вооружение, возможно придется делать так... а в чем проблема будет при обработке? мы ж уже выгрузили запрос в ТЗ или Выборку...
#9
by hame1e00n
Дальше там идет по информации из полученной нами ТЗ с данными формирование в виде текста формирование запроса на языке SQL, который дальше будет выполняться через ADODB.
#11
by hame1e00n
На средних объемах данных эта обработка работает, на больших - валится с нехваткой памяти
#13
by МихаилМ
"select top..." - это избыточные блокировки на сервер субд. как правило страничные (блокировки). лучше тогда выбирать интервалы в отличии от 1с77 1с8 умеет освобождать память и для разовых обработок можно пару гигов закачать в озу
#16
by hame1e00n
1. Короче как понял в случае больших запросов мне надо будет помещать результат запроса во временную таблицу, далее другим запросом в цикле читать ее кусками через select top. Но у нас же во временной таблице не будет номера строки... Что можно придумать? 2. Как память освобождать? Просто уничтожаю эту временную таблицу? 3. Нужно ли как-то память очищать в случае использования выгрузок в ТЗ и выборки? Там как-то явно указывать метод Очистить или = Неопределено?
#17
by МихаилМ
если у записи есть первичный ключ то указвайте как отправную точку его в тема раскрыта.
#18
by hame1e00n
ключ каждый раз разный (разные данные выгружаются - из разных таблиц), например контрагенты, а потом документы. Можно ли как-то в запросе создать уникальный ключ для строки?
#20
by H A D G E H O G s
Справочник.Контрагенты, Документ.ПКО, и.т.д. - вполне подойдут за уникальный ключ.
#21
by H A D G E H O G s
Если удалось выгрузить в ТЗ и падение по памяти уже в ее постобработке - можно удалять ее уже обработанные строки.
#22
by hame1e00n
, да! сейчас отследил - падение по нехватке памяти происходит уже после выгрузки в ТЗ при обработке полученных из нее данных. Будем удалять обработанные строки значит)
#23
by hame1e00n
а как очищается из памяти вся таблица? Очистить или достаточно таблице присвоить значение = Неопределено?
#25
by Sorm
Select top - это неявная сортировка всегда. Если без индексов и пр - то как сервер решит. Ресурсы-то затратятся.
#26
by hame1e00n
Насчет явного освобождения памяти, занятой таблицей значений и выборкой можете подсказать? Как это сделать?
#29
by МихаилМ
главная проблема это не сортировки которые не всегда, а избыточные блокировки, тк невозможно достаточно точно спрогнозировать какие записи попадут в выборку и сколько записей добавиться в планируемый интервал.
#30
by m-serg74
если из табл. знач. в постобработке например происходит вывод в таб. док. то может так случиться, что удаляемые обработанные строки будут освобождать памяти намного меньше чем заполняемый таб. док. ее сжирает... сам недавно воевал с КУДиР в БП 2.0 вариант - перенес все тяжелые по памяти процедуры на 64х сервер предприятия там практически нету ограничения по памяти
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Создание ТЗ с вложенными ТЗ на основании плоской ТЗ методом группир. по колонкам
- ТЗ.Свернуть для ТЗ в ТЗ
- а если внутри выборки тз получать значение из строки тз, выборка собьется?
- Выгрузка Запроса в ТЗ
- Выгрузка/загрузка XML. Выгрузка РН
- Поле объекта не обнаружено (Выборка) Строка.СубконтоКт= Выборка.СубконтоДт1[
- Как в построитель запроса передать текст запроса из ТЗ?
- Выгрузка результата СКД в ТЗ
В этой группе 1С
- RDP просит повторный ввод пароля
- Проблема передать ссылку на документ в запрос через COM.
- Открыть форму внешней обработки
- В чем разница между Регистрами накоп "Товары организаций" и "Товары на складах"?
- Под какими правами происходит обмен для фонового задания
- Восстановление базы SQL в другую базу
- После расчета c/c зависла сумма на 43 счете без количества.
- Пользователь ИБ не идентифицирован
- Как защититься от вируса Morto?
- 1С 8.3 УФ Показать уровень группировокСтрок(0) - ошибка
- выгрузка из ЗУП в БП 2,0 , в док Отражение ЗП в ЗУПе нет подразделения, выгружаю
- v7: Функция ВыполнитьЗапрос() в SQL работает как-то странно
- Месяц в запросе - представление
- Установка Redmine на CentOS, Apache, Passenger
- БП 3.0.29.8 ТОРГ 12 при печати странно делит листы
- ВвестиЧисло не работает
- отбор при помощи ПВД в КД
- Как обратиться к функции из модуля обычного приложения?
- Создание внешней печатной формы
- СКД вычисляемые поля, отношение значения строки к общему итогу