Список форумов BOSSForum.RU - Форум. БОСС-Кадровик
Независимый форум, посвященный системе БОСС-Кадровик
и всему, что с ней связано
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Оптимизация запроса списка

 
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык
Предыдущая тема :: Следующая тема  
Автор Сообщение
Mikhail



Зарегистрирован: 16.08.2012
Сообщения: 177
Откуда: Москва

СообщениеДобавлено: Чт Фев 09, 2017 17:08    Заголовок сообщения: Оптимизация запроса списка Ответить с цитатой

Всем привет.

Замечено, что если при создании списка в секции SQL указан запрос с использованием нескольких таблиц (обычно 5 и более), то в некоторых случаях такой список может открываться очень долго или в крайних случаях не открыться вовсе. Тот же запрос в Management Studio может выполняться за приемлемое время (1-2 сек).

Обычно эта проблема решается созданием view для этого запроса и использованием этой view в списке. Но сейчас столкнулся с тем, что такой способ не работает.

Подскажите, пожалуйста, какие ещё приемы оптимизации можно использовать подобных случаях с точки зрения создания списков (не плана запроса, а именно списков) ?

Спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
GIN



Зарегистрирован: 04.03.2010
Сообщения: 112

СообщениеДобавлено: Чт Фев 09, 2017 19:05    Заголовок сообщения: Ответить с цитатой

Общий один подзапрос можно попробовать, желательно без секции WHERE и каких то переменных.

Интересно, что это у Вас за такие мега-запросы, что они даже не где не работают... а они вообще исполняются? Smile

Давайте задачу, более развернуто.
_________________
Что бы увидеть свет в конце туннеля, нужно все время копать...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Mikhail



Зарегистрирован: 16.08.2012
Сообщения: 177
Откуда: Москва

СообщениеДобавлено: Чт Фев 09, 2017 21:21    Заголовок сообщения: Ответить с цитатой

Запросы как раз не сложные и в Management Studio или в отчетах Reporting Server работают без проблем, но проблемы возникают если тот же запрос выполнить в среде БК, например, использоваться его в списке.

Добавлю подробностей:
Если при открытии такого списка подсмотреть в Profiler текст выполняемой сервером инструкции (exec sp_executesql ("select ...") и выполнить её в Management Studio, то результат будет получен одинаково быстро.

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

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

GIN, на счет исключения секции where - мне не совсем понятно, вы предлагаете заменить её используя секцию Ограничение или вовсе обойтись без предикатов?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Antoshes



Зарегистрирован: 17.02.2014
Сообщения: 171
Откуда: Томск

СообщениеДобавлено: Пт Фев 10, 2017 09:20    Заголовок сообщения: Ответить с цитатой

Mikhail
таблицы базовые ?
Выложите сам запрос
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Antoshes



Зарегистрирован: 17.02.2014
Сообщения: 171
Откуда: Томск

СообщениеДобавлено: Пт Фев 10, 2017 09:22    Заголовок сообщения: Ответить с цитатой

Mikhail
было что то подобное, почитайте
http://bossforum.ru/forum/viewtopic.php?t=1580&highlight=
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Nemoxur



Зарегистрирован: 30.04.2010
Сообщения: 49

СообщениеДобавлено: Пт Фев 10, 2017 10:40    Заголовок сообщения: Ответить с цитатой

Постройте покрывающий индекс по необходимым полям и обновите статистику.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Volod
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 11.02.2015
Сообщения: 252

СообщениеДобавлено: Пт Фев 10, 2017 10:44    Заголовок сообщения: Ответить с цитатой

Mikhail писал(а):
Всем привет.
Замечено, что если при создании списка в секции SQL указан запрос с использованием нескольких таблиц (обычно 5 и более), то в некоторых случаях такой список может открываться очень долго или в крайних случаях не открыться вовсе. Тот же запрос в Management Studio может выполняться за приемлемое время (1-2 сек).


В настройках списка в RPDesigner
в свойствах списка в разделе опции списка есть параметры
обрабатывать ограничения на рабочей станции
обрабатывать ограничения на сервере.
что у Вас там?


Последний раз редактировалось: Volod (Пт Фев 10, 2017 16:05), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
GIN



Зарегистрирован: 04.03.2010
Сообщения: 112

СообщениеДобавлено: Пт Фев 10, 2017 12:20    Заголовок сообщения: Ответить с цитатой

я имел в виду, что желательно вообще без этой секции...

попробуйте пересобрать статистику.

Volod ещё верно советует - смотрите "свойства", если список или отчет с запросом с диалога запускается.
_________________
Что бы увидеть свет в конце туннеля, нужно все время копать...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Mikhail



Зарегистрирован: 16.08.2012
Сообщения: 177
Откуда: Москва

СообщениеДобавлено: Пт Фев 10, 2017 15:04    Заголовок сообщения: Ответить с цитатой

Коллеги, спасибо за идеи.
На выходных в свободное время буду эксперементировать и сообщу о результатах.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Pоwerеd by рhpВB © 2001, 2005 рhpВB Grouр
Русская поддержка phрВB
Rambler's Top100 Рейтинг@Mail.ru Список форумов BOSSForum.RU