13.07.2011, 11:49 | #1 |
Участник
|
Тормоза с правами "Подразделение и дочерние" CRM 4.0
Коллеги!
А не сталкивался ли кто-нибудь с такой проблемой: Если в роли пользователя установлен уровень доступа к чтению кастомной сущности "Подразделение и дочерние подразделения", то при открытии представлений и при быстром поиске у пользователя ощущаются сильнейшие торомоза. Если же уменьшить уровень доступ до просто "Подразделение", тормоза бесследно исчезают. Вот такая вот загадка
__________________
С уважением, Tony Green |
|
13.07.2011, 11:51 | #2 |
Чайный пьяница
|
А под админской записью тормоза есть? Может вопрос в объёме данных?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
13.07.2011, 11:54 | #3 |
Участник
|
Данных в таблице - тысяч 20, под админской записью тормозов нет
__________________
С уважением, Tony Green |
|
13.07.2011, 11:58 | #4 |
Чайный пьяница
|
Советую снять данные по запросам с ролью и без профайлером. Это может ответить на вопрос и подсказать выход.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
14.07.2011, 12:25 | #5 |
Участник
|
по дате представление не сортируете?
|
|
14.07.2011, 14:21 | #6 |
Участник
|
Сортирую. Это вредно?
__________________
С уважением, Tony Green |
|
15.07.2011, 11:08 | #7 |
Участник
|
Если объем выбираемых данных с расширением прав растет, то да.
Хотя у Вас под админской ролью тормозов нет... Это странно. Попробуйте сортировать по другому полю. Почему вредно: Посмотрите на tsql скрипт по созданию вашей Filtered View (Filtered+"Имя сущности"). В нем для всех дат выполняется преобразование от UTC к локальному времени пользователя. Его нельзя проиндексировать и работает оно, мягко говоря, не очень быстро. |
|
|
За это сообщение автора поблагодарили: a33ik (1). |
15.07.2011, 17:49 | #8 |
Участник
|
Цитата:
То есть вы хотите сказать, что скорость выполнения Filtered View зависит от того какой запрос будут над ним выполнять? Поясню Код:
Код: Select new_name from Filtered… То же самое происходит и со вторым. Данные второй запрос вернет быстрее, но выполнение Filtered.. будет не быстрее. Поэтому скорость выполнения Filtered View одинаковое при прочих равных условиях. Какая разница по какому полю я буду сортировать если всё равно SQL будет преобразовывать каждый раз поле дата в локальное время пользователя?
Или я не прав?
__________________
Читайте SDK!!! |
|
15.07.2011, 21:36 | #9 |
Участник
|
Цитата:
Или я не прав?
Код: всё равно SQL будет преобразовывать каждый раз поле дата в локальное время пользователя если я пишу: Код: select name from FilteredAccount order by createdon Код: select name from FilteredAccount order by createdonutc |
|
15.07.2011, 21:54 | #10 |
Участник
|
Цитата:
Можно ссылку на это утверждение?
__________________
Читайте SDK!!! |
|
15.07.2011, 22:31 | #11 |
Участник
|
Цитата:
Можно ссылку на это утверждение?
http://msdn.microsoft.com/en-us/library/ms191250.aspx "..Their values are recalculated every time they are referenced in a query." Зачем вычислять, если оно не надо? |
|
15.07.2011, 22:59 | #12 |
Участник
|
Цитата:
Сообщение от lode
конечно
http://msdn.microsoft.com/en-us/library/ms191250.aspx "..Their values are recalculated every time they are referenced in a query." Я это понимаю немного по-другому. ( но оставим это пока). Обращение к полям view происходит по слову(имени view) Filtered… В имени view не написано какие поля вычислять а какие нет, поэтому мне кажется что выполняется вычисление всех полей. (поэтому эти views такие медленные.) Ваше утверждение говорит о том, что SQL заменяет мой запрос своим да и ещё меняет запрос во view, что бы не вычислять поля которые не нужны при возврате.
Я Вас правильно понял?
__________________
Читайте SDK!!! |
|
15.07.2011, 23:48 | #13 |
Участник
|
Цитата:
SQL заменяет мой запрос своим да и ещё меняет запрос во view, что бы не вычислять поля которые не нужны при возврате.
вы возьмите простой пример - где нибудь на тестовой базе создайте представление: Код: create view t as select s.a, s.b, s.a/s.b ratio from ( select 1 a, 2 b union all select 2 a, 0 b ) s |
|
|
За это сообщение автора поблагодарили: Konstantin Katsovich (1). |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|