Тормозят запросы в УТ11

Обсуждение различных вопросов, связанных с разработкой и эксплуатацией 1С-Предприятия 8.X
maljaev
Сообщения: 41
Зарегистрирован: 22 дек 2011, 12:52

Тормозят запросы в УТ11

Сообщение maljaev »

Пожалуйста, помогите разобраться с траблом - очень приперло.

Есть терминал-сервер, на нём 2 базы: БП 2 и УТ 11, файловые. Каждая по 2.5 Гб. Базы лежат на одном диске. Обе работают в толстом клиенте. Состав документов реализации в обоих базах идентичный. Делаю запросы из консоли:

Код: Выделить всё

ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура,
   РеализацияТоваровУслугТовары.Количество,
   РеализацияТоваровУслугТовары.Ссылка
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата, ДЕНЬ)


В БП 2 этот запрос выполняется миллисекунды, в УТ 11 - минуту. Притом во время выполнения запроса в УТ одно ядро процессора грузится на 100%, диск и память практически не используются.

В чём причина тормозов и куда копать никак не пойму.
maljaev
Сообщения: 41
Зарегистрирован: 22 дек 2011, 12:52

Re: Тормозят запросы в УТ11

Сообщение maljaev »

Попробовал провести эксперимент. Перевел УТ11 в режим обычного приложения, запустил консоль для обычного приложения.

Код: Выделить всё

ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура,
   РеализацияТоваровУслугТовары.Количество,
   РеализацияТоваровУслугТовары.Ссылка,
   РеализацияТоваровУслугТовары.Ссылка.Дата
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары


Выполняется 4 секунды. Количество строк в результате - 250'000

Код: Выделить всё

ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура,
   РеализацияТоваровУслугТовары.Количество,
   РеализацияТоваровУслугТовары.Ссылка,
   РеализацияТоваровУслугТовары.Ссылка.Дата
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата, ДЕНЬ)


Выполняется 133 секунды. Количество строк в результате - 1'475

Почему из-за одного условия такие тормоза? Условие пробовал переписывать по-разному, тормоза те же.
advali
Сообщения: 204
Зарегистрирован: 06 сен 2013, 07:59

Re: Тормозят запросы в УТ11

Сообщение advali »

Наверное надо соединить с таблицей шапки? И по ней делать условие?
maljaev
Сообщения: 41
Зарегистрирован: 22 дек 2011, 12:52

Re: Тормозят запросы в УТ11

Сообщение maljaev »

Ну как вариант. Но я ведь вывожу полностью колонку "РеализацияТоваровУслугТовары.Ссылка.Дата" и по ней тормозов нет (без условия).
В БП вообще не тормозит при любом раскладе.
sosnae
Сообщения: 588
Зарегистрирован: 20 дек 2011, 10:31
Откуда: Украина, Запорожье

Re: Тормозят запросы в УТ11

Сообщение sosnae »

РЛС?
maljaev
Сообщения: 41
Зарегистрирован: 22 дек 2011, 12:52

Re: Тормозят запросы в УТ11

Сообщение maljaev »

В шаблонах ограничений роли все правила РЛС поудалял - не помогает.
JohnyDeath
Сообщения: 722
Зарегистрирован: 24 авг 2011, 15:32

Re: Тормозят запросы в УТ11

Сообщение JohnyDeath »

А так:

Код: Выделить всё

ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура,
   РеализацияТоваровУслугТовары.Количество,
   РеализацияТоваровУслугТовары.Ссылка,
   Выразить(РеализацияТоваровУслугТовары.Ссылка как Документ.РеализацияТоваровУслуг).Дата
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   Выразить(РеализацияТоваровУслугТовары.Ссылка как Документ.РеализацияТоваровУслуг).Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата, ДЕНЬ)

(хотя не факт, что для файловой применимы те же методы, что и для скульной)
maljaev
Сообщения: 41
Зарегистрирован: 22 дек 2011, 12:52

Re: Тормозят запросы в УТ11

Сообщение maljaev »

Не катит. Я для начала выполню-как тестирование и исправление ИБ, хотя оно и жутко долго делается. Может поможет.
Аватара пользователя
artbear
Сообщения: 1085
Зарегистрирован: 24 авг 2011, 15:36
Контактная информация:

Re: Тормозят запросы в УТ11

Сообщение artbear »

Перепиши запрос на явный inner join с основной таблицей c условием соединения по дате
maljaev писал(а):

Код: Выделить всё

ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура,
   РеализацияТоваровУслугТовары.Количество,
   РеализацияТоваровУслугТовары.Ссылка
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   Внутренннее соединение Документ.РеализацияТоваровУслуг КАК Доки
   ПО Доки.Ссылка = РеализацияТоваровУслугТовары.Ссылка
   И Доки.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата, ДЕНЬ)

Может быть, поможет.
Если нет, тогда ТиИ + помним о том, что в файловом запросы могут работать странно :(
maljaev
Сообщения: 41
Зарегистрирован: 22 дек 2011, 12:52

Re: Тормозят запросы в УТ11

Сообщение maljaev »

Да я еще в начале дня переписал, явное ведь решение. Но поведение системы просто странное, хочется докопаться до истины.

Самое интересное в том, что базы УТ и БП идентичны по составу документов реализации, соответственно результаты один и тот же запрос в обоих базах дает одинаковые. И размер баз одинаковый. Но загадка в том почему этот запрос в БП выполняется где-то 30 миллисекунд, а в УТ 130 секунд. Это я про неоптимизированную версию запроса, оптимизированная с джойном двух таблиц выполняется приемлемо быстро, но все равно в УТ она выполняется на 2 порядка медленнее чем в БП. Может быть действительно в УТ каких-то индексов не хватает, но как это проверить?

Если кому интересно увидеть это своими глазами - могу дать ссылки на архивы обеих баз (примерно 400 Мб каждая), но разумеется не каждому встречному а из тех кого здесь знаю.

scr1.jpg
scr1.jpg (212.96 КБ) 83839 просмотров

scr2.jpg
scr2.jpg (112.15 КБ) 83839 просмотров
Ответить