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

OPTION (FAST 25)

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



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

СообщениеДобавлено: Пн Мар 28, 2016 15:05    Заголовок сообщения: OPTION (FAST 25) Ответить с цитатой

Добрый день!
Запрос
Select * from hrvw_people_look в студии выполняется 4 с.

Если этот же запрос выполнить в модуле БК, то он виснет на 1 минуту 40 сек.
Трассировка показывает такой запрос
Select * from hrvw_people_look WITH(NOLOCK) OPTION(FAST 25);

Этот же запрос в студии отрабатывает 1 минуту 40 секунд.

Если вместо 25 поставить 1000 то запрос отрабатывает уже 5 секунд.

Вопрос: можно ли отрегулировать значение FAST 25 ? С чем может быть связан обратный эффект ?

Причем такое поведение из всех модулей кроме Расчет Зарплаты
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mikhail



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

СообщениеДобавлено: Пн Мар 28, 2016 16:11    Заголовок сообщения: Ответить с цитатой

Antoshes, добрый день.

Запросы:
Select * from hrvw_people_look;
Select * from hrvw_people_look WITH(NOLOCK) OPTION(FAST 25);
имеют разный план выполнения.

Идентичные планы получатся, как ни странно, если применить top 25 для первого:
Select top 25 * from hrvw_people_look;
Select * from hrvw_people_look WITH(NOLOCK) OPTION(FAST 25);

Глубоко не копал, но, по-видимому, план запроса построенный с хинтом FAST не оптимален для выбора всех записей из таблицы.

Вот не проверял, но интересно, при нажатии на песочные часы (зачитать все записи), запрос, формирующий список, также выполняется с хинтом FAST?

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


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

СообщениеДобавлено: Пн Мар 28, 2016 16:28    Заголовок сообщения: Ответить с цитатой

Причем это совершенно непредсказуемо для разных серверов.

"Можно ли отрегулировать значение FAST 25" - так, чтобы было оптимально всегда и для всех - нет, нельзя.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Antoshes



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

СообщениеДобавлено: Вт Мар 29, 2016 08:17    Заголовок сообщения: Ответить с цитатой

Mikhail

Select top 25 * from hrvw_people_look это выбор всего 25 строк.
DUCKKK

В данном случае запрос ведет себя не предсказуемо на одном сервере но на разных модулях. В Расчете зарплаты все очень быстро открывается.

Заметил поведение в модуле Администратор при редактировании записи в списке Доступ к личным сведениям: Пользователи.

Диалог редактирования открывается больше минуты.

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


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

СообщениеДобавлено: Вт Мар 29, 2016 11:38    Заголовок сообщения: Ответить с цитатой

Не нужно ссылаться на модуль "Зарплата", там всё немного "хитрее" и работает там совсем другая view в связке с emps
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RVV
Большой шоколадный орден
Большой шоколадный орден


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

СообщениеДобавлено: Вт Мар 29, 2016 11:46    Заголовок сообщения: Ответить с цитатой

Попробуйте убрать вызов табличной функции

Create View dbo.hrvw_people_look
As
SELECT
people.pid,
(CASE WHEN people.Num_Tab > '' THEN '(' + people.Num_Tab + ') ' + Card.Full_name ELSE Card.Full_name END) as CName,
people.Num_Tab,
Card.Full_name,
People.id_firm,
people.in_date as d_from,
people.out_date as d_to,
Card.Auto_card,
Structs.Struct_code,
Structs.Struct_Name,
Pr_current.Code_Appoint,
Appointments.Name_appoint,
Pr_current.date_trans,
Pr_current.date_depart,
(CASE WHEN people.out_date > getdate() THEN 239 ELSE 247 END) as color,
SETUP.short_name
, ISNULL(acc.id_rec,0) as id_rec

FROM people
INNER JOIN Pr_current ON people.pid = pr_current.pid

INNER JOIN Appointments ON Pr_current.Code_Appoint = Appointments.Code_Appoint
INNER JOIN Card ON people.Auto_card = Card.Auto_card
INNER JOIN Structs ON pr_current.code_struct_name = Structs.Struct_code

INNER JOIN SETUP ON people.id_firm = SETUP.id_firm

/* разграничение доступа */
LEFT JOIN (select id_rec from adtb_role_acc where name_table = 'Structs' and role_code = user_name()) as acc ON acc.id_rec = Structs.Struct_code
GO
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Antoshes



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

СообщениеДобавлено: Вт Мар 29, 2016 11:56    Заголовок сообщения: Ответить с цитатой

RVV
поподробнее пожалуйста на счет Расчет Зарплаты ?
Какая другая вьюха там работает ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
OMS



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

СообщениеДобавлено: Ср Апр 26, 2017 17:59    Заголовок сообщения: OPTION (FAST 25) Ответить с цитатой

Доброго времени суток!

Подскажите, пожалуйста, существует все-таки возможность, позволяющая менять автоматически подставляющееся значение FAST 25 для выпадающих списков в диалогах?

В моем случае оптимальней было бы подставлять FAST 1. Время выполнения запроса сократилось бы с 20 до 5 секунд. Но при формировании диалога для выпадающих списков движок RP сам формирует текст секции Where и дописывает в конце OPTION (FAST 25).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов 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