AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.07.2011, 11:08   #1  
lode is offline
lode
Участник
Аватар для lode
 
37 / 12 (1) ++
Регистрация: 23.03.2009
Адрес: Россия, Екатеринбург
Если объем выбираемых данных с расширением прав растет, то да.
Хотя у Вас под админской ролью тормозов нет... Это странно.
Попробуйте сортировать по другому полю.

Почему вредно:
Посмотрите на tsql скрипт по созданию вашей Filtered View (Filtered+"Имя сущности").
В нем для всех дат выполняется преобразование от UTC к локальному времени пользователя.
Его нельзя проиндексировать и работает оно, мягко говоря, не очень быстро.
За это сообщение автора поблагодарили: a33ik (1).
Старый 15.07.2011, 17:49   #2  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от lode Посмотреть сообщение
Почему вредно:
Посмотрите на tsql скрипт по созданию вашей Filtered View (Filtered+"Имя сущности").
В нем для всех дат выполняется преобразование от UTC к локальному времени пользователя.
Его нельзя проиндексировать и работает оно, мягко говоря, не очень быстро.
То есть вы хотите сказать, что скорость выполнения Filtered View зависит от того какой запрос будут над ним выполнять?

Поясню
Код:
Select * from Filtered…
Код:
Select new_name from Filtered…
Для того что бы выполнить первый запрос SQL выполняет Filtered… потом запрос.
То же самое происходит и со вторым.
Данные второй запрос вернет быстрее, но выполнение Filtered.. будет не быстрее.
Поэтому скорость выполнения Filtered View одинаковое при прочих равных условиях.

Какая разница по какому полю я буду сортировать если всё равно SQL будет преобразовывать каждый раз поле дата в локальное время пользователя?
Или я не прав?
__________________
Читайте SDK!!!
Старый 15.07.2011, 21:36   #3  
lode is offline
lode
Участник
Аватар для lode
 
37 / 12 (1) ++
Регистрация: 23.03.2009
Адрес: Россия, Екатеринбург
Цитата:
Или я не прав?
Не правы

Код:
всё равно SQL будет преобразовывать каждый раз поле дата в локальное время пользователя
Не каждый, а только тогда, когда в запросе будет участвовать вычисляемое поле даты.

если я пишу:
Код:
select name from FilteredAccount order by createdon
то время ожидаемо будет больше, чем
Код:
select name from FilteredAccount order by createdonutc
Старый 15.07.2011, 21:54   #4  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от lode Посмотреть сообщение
Не каждый, а только тогда, когда в запросе будет участвовать вычисляемое поле даты.
Можно ссылку на это утверждение?
__________________
Читайте SDK!!!
Старый 15.07.2011, 22:31   #5  
lode is offline
lode
Участник
Аватар для lode
 
37 / 12 (1) ++
Регистрация: 23.03.2009
Адрес: Россия, Екатеринбург
Цитата:
Можно ссылку на это утверждение?
конечно
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   #6  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от 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   #7  
lode is offline
lode
Участник
Аватар для lode
 
37 / 12 (1) ++
Регистрация: 23.03.2009
Адрес: Россия, Екатеринбург
Цитата:
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
и поделайте select-ы к нему. Сразу станет понятно, когда он вычисляет все поля
За это сообщение автора поблагодарили: Konstantin Katsovich (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM DE LA CREME! CRM 4.0 Disaster Recovery Blog bot Dynamics CRM: Blogs 2 26.02.2016 08:23
Все о Microsoft Dynamics CRM: Как установить Microsoft Dynamics CRM 2011 Beta Blog bot Dynamics CRM: Blogs 0 31.10.2010 15:08
CRM DE LA CREME! Configuring Microsoft Dynamics CRM 4.0 for Internet-facing deployment Blog bot Dynamics CRM: Blogs 0 18.08.2009 11:05
Microsoft Dynamics CRM Team Blog: Building Rich-Client Dashboards for Microsoft Dynamics CRM with Windows Presentation Foundation Blog bot Dynamics CRM: Blogs 1 31.03.2009 13:24
Microsoft Dynamics CRM Team Blog: List Web Part for Microsoft Dynamics CRM 4.0 Deployment Scenarios Blog bot Dynamics CRM: Blogs 0 30.01.2009 22:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:10.