Снегопат https://snegopat.ru/forum/ |
|
Тормозят запросы в УТ11 https://snegopat.ru/forum/viewtopic.php?f=6&t=562 |
Страница 1 из 2 |
Автор: | maljaev [ 30 окт 2013, 11:01 ] |
Заголовок сообщения: | Тормозят запросы в УТ11 |
Пожалуйста, помогите разобраться с траблом - очень приперло. Есть терминал-сервер, на нём 2 базы: БП 2 и УТ 11, файловые. Каждая по 2.5 Гб. Базы лежат на одном диске. Обе работают в толстом клиенте. Состав документов реализации в обоих базах идентичный. Делаю запросы из консоли: Код: ВЫБРАТЬ РеализацияТоваровУслугТовары.Номенклатура, РеализацияТоваровУслугТовары.Количество, РеализацияТоваровУслугТовары.Ссылка ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ГДЕ РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата, ДЕНЬ) В БП 2 этот запрос выполняется миллисекунды, в УТ 11 - минуту. Притом во время выполнения запроса в УТ одно ядро процессора грузится на 100%, диск и память практически не используются. В чём причина тормозов и куда копать никак не пойму. |
Автор: | maljaev [ 30 окт 2013, 11:02 ] |
Заголовок сообщения: | Re: Тормозят запросы в УТ11 |
Попробовал провести эксперимент. Перевел УТ11 в режим обычного приложения, запустил консоль для обычного приложения. Код: ВЫБРАТЬ РеализацияТоваровУслугТовары.Номенклатура, РеализацияТоваровУслугТовары.Количество, РеализацияТоваровУслугТовары.Ссылка, РеализацияТоваровУслугТовары.Ссылка.Дата ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары Выполняется 4 секунды. Количество строк в результате - 250'000 Код: ВЫБРАТЬ РеализацияТоваровУслугТовары.Номенклатура, РеализацияТоваровУслугТовары.Количество, РеализацияТоваровУслугТовары.Ссылка, РеализацияТоваровУслугТовары.Ссылка.Дата ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ГДЕ РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата, ДЕНЬ) Выполняется 133 секунды. Количество строк в результате - 1'475 Почему из-за одного условия такие тормоза? Условие пробовал переписывать по-разному, тормоза те же. |
Автор: | advali [ 30 окт 2013, 11:12 ] |
Заголовок сообщения: | Re: Тормозят запросы в УТ11 |
Наверное надо соединить с таблицей шапки? И по ней делать условие? |
Автор: | maljaev [ 30 окт 2013, 11:18 ] |
Заголовок сообщения: | Re: Тормозят запросы в УТ11 |
Ну как вариант. Но я ведь вывожу полностью колонку "РеализацияТоваровУслугТовары.Ссылка.Дата" и по ней тормозов нет (без условия). В БП вообще не тормозит при любом раскладе. |
Автор: | sosnae [ 30 окт 2013, 11:29 ] |
Заголовок сообщения: | Re: Тормозят запросы в УТ11 |
РЛС? |
Автор: | maljaev [ 30 окт 2013, 11:52 ] |
Заголовок сообщения: | Re: Тормозят запросы в УТ11 |
В шаблонах ограничений роли все правила РЛС поудалял - не помогает. |
Автор: | JohnyDeath [ 30 окт 2013, 12:24 ] |
Заголовок сообщения: | Re: Тормозят запросы в УТ11 |
А так: Код: ВЫБРАТЬ РеализацияТоваровУслугТовары.Номенклатура, РеализацияТоваровУслугТовары.Количество, РеализацияТоваровУслугТовары.Ссылка, Выразить(РеализацияТоваровУслугТовары.Ссылка как Документ.РеализацияТоваровУслуг).Дата ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ГДЕ Выразить(РеализацияТоваровУслугТовары.Ссылка как Документ.РеализацияТоваровУслуг).Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата, ДЕНЬ) (хотя не факт, что для файловой применимы те же методы, что и для скульной) |
Автор: | maljaev [ 30 окт 2013, 13:38 ] |
Заголовок сообщения: | Re: Тормозят запросы в УТ11 |
Не катит. Я для начала выполню-как тестирование и исправление ИБ, хотя оно и жутко долго делается. Может поможет. |
Автор: | artbear [ 30 окт 2013, 15:37 ] |
Заголовок сообщения: | Re: Тормозят запросы в УТ11 |
Перепиши запрос на явный inner join с основной таблицей c условием соединения по дате maljaev писал(а): Код: ВЫБРАТЬ РеализацияТоваровУслугТовары.Номенклатура, РеализацияТоваровУслугТовары.Количество, РеализацияТоваровУслугТовары.Ссылка ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары Внутренннее соединение Документ.РеализацияТоваровУслуг КАК Доки ПО Доки.Ссылка = РеализацияТоваровУслугТовары.Ссылка И Доки.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата, ДЕНЬ) Может быть, поможет. Если нет, тогда ТиИ + помним о том, что в файловом запросы могут работать странно |
Автор: | maljaev [ 30 окт 2013, 22:29 ] |
Заголовок сообщения: | Re: Тормозят запросы в УТ11 |
Да я еще в начале дня переписал, явное ведь решение. Но поведение системы просто странное, хочется докопаться до истины. Самое интересное в том, что базы УТ и БП идентичны по составу документов реализации, соответственно результаты один и тот же запрос в обоих базах дает одинаковые. И размер баз одинаковый. Но загадка в том почему этот запрос в БП выполняется где-то 30 миллисекунд, а в УТ 130 секунд. Это я про неоптимизированную версию запроса, оптимизированная с джойном двух таблиц выполняется приемлемо быстро, но все равно в УТ она выполняется на 2 порядка медленнее чем в БП. Может быть действительно в УТ каких-то индексов не хватает, но как это проверить? Если кому интересно увидеть это своими глазами - могу дать ссылки на архивы обеих баз (примерно 400 Мб каждая), но разумеется не каждому встречному а из тех кого здесь знаю. Вложение: scr1.jpg [ 212.96 КБ | Просмотров: 21452 ] Вложение: scr2.jpg [ 112.15 КБ | Просмотров: 21452 ] |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |