Гость
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как определить причину зависания MDX запроса? / 11 сообщений из 11, страница 1 из 1
24.02.2021, 10:11
    #40048292
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить причину зависания MDX запроса?
Есть запрос MDX, при запуске он виснет намертво.
Профайлером не удалось найти причину - есть только событие запуск и все.
Как еще можно определить причину блокировки?
Памяти и ресурсов достаточно, процессор не перегружен

P.S. Отладкой MDX запросов не занимался никогда, любой совет будет "в кассу".
...
Рейтинг: 0 / 0
24.02.2021, 11:13
    #40048307
Гулин Федор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить причину зависания MDX запроса?
SQL2008,
имхо также как с SQL
попробуй текст запроса комментить частями
убрав кусок
или наоборот добавив условие отсекающее данные
( типа данные за 1 день - правда в скл то проще дописать where )

у меня не было таких кейсов

ps есть еще MDX studio = м.б как-то поможет но я не уверен

pps ну и можно сюда кинуть код - м.б народ чего подскажет
...
Рейтинг: 0 / 0
24.02.2021, 13:30
    #40048352
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить причину зависания MDX запроса?
SQL2008,

в профайлере, в Trace Properties, на закладке Event Selection, отметьте все поддерево Query Processing.
и можно еще поддерево Progress Reports.
...
Рейтинг: 0 / 0
24.02.2021, 17:47
    #40048509
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить причину зависания MDX запроса?
Гулин Федор
pps ну и можно сюда кинуть код - м.б народ чего подскажет


Вот сам скрипт
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
SELECT NON EMPTY CrossJoin(Hierarchize
(DrilldownMember
 (DrilldownMember
  (DrilldownMember
   (DrilldownMember
     (DrilldownMember
      (CrossJoin({[Contact].[Last Name].[All],[Contact].[Last Name].[Last Name].AllMembers}, 
{([Contact].[First Name].[All],[Contact].[Middle Name].[All],[Contact].[Age].[All],[Contact].[Email1].[All],
[Contact].[Mobile Phone].[All])}), [Contact].[Last Name].[Last Name].AllMembers, [Contact].[First Name]), 
[Contact].[First Name].[First Name].AllMembers, [Contact].[Middle Name]), 
[Contact].[Middle Name].[Middle Name].AllMembers, [Contact].[Age]), [Contact].[Age].[Age].AllMembers, 
[Contact].[Email1]), [Contact].[Email1].[Email1].AllMembers, [Contact].[Mobile Phone])), 
{[Measures].[Cheque Item Count],[Measures].[Sum Cheque]}) 

DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON COLUMNS  

FROM [Model] 

WHERE ([Date].[Calendar].[Year].&[2020].&[4 квартал].&[Ноябрь].&[1 Ноя 2020],
[Contact].[Gender Russian].[All],[Contact].[Send email].[All],[Contact].[Send SMS].[All],
[Product SubGroup].[Name].[All]) CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, 
BACK_COLOR, FORE_COLOR, FONT_FLAGS



Понимаю, что жуткий, но с бизнесом не поспоришь.
...
Рейтинг: 0 / 0
25.02.2021, 20:49
    #40048777
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить причину зависания MDX запроса?
SQL2008,

интересно, что за продукт этот запрос сваял?
...
Рейтинг: 0 / 0
02.03.2021, 10:47
    #40049760
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить причину зависания MDX запроса?
Методом проб определил, что проблема в этом куске кода
Код: sql
1.
2.
3.
4.
5.
CrossJoin(
   {
      [Contact].[Last Name].[All],
      [Contact].[Last Name].[Last Name].AllMembers
   }, 



Если убрать
Код: sql
1.
[Contact].[Last Name].[Last Name].AllMembers


то запрос отрабатывает за секунду
...
Рейтинг: 0 / 0
02.03.2021, 15:01
    #40049852
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить причину зависания MDX запроса?
SQL2008,

а смысл этого выражения (не всего запроса) можете описать?

вот я и спрашиваю, что за программный продукт это сваял?
вытащить в одну строку все возможные комбинации атрибутов одного измерения - зачем?
никакими ".. не поспоришь" это не обосновано, разве что проверить на физические способности сервера.

у меня, кстати, на 10млн в контактах, не виснет
...
Рейтинг: 0 / 0
03.03.2021, 11:15
    #40050177
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить причину зависания MDX запроса?
ShIgor
SQL2008,

а смысл этого выражения (не всего запроса) можете описать?

вот я и спрашиваю, что за программный продукт это сваял?
вытащить в одну строку все возможные комбинации атрибутов одного измерения - зачем?
никакими ".. не поспоришь" это не обосновано, разве что проверить на физические способности сервера.

у меня, кстати, на 10млн в контактах, не виснет

Увы, не могу сообщить название продукта, но смею вас уверить, что продукт достаточно неплох.
А виснет, увы всего на 100 тыс. контактов :(
Насчет - "для чего все эти свистоперделки" задал вопрос заказчику.
Жду ответа.
...
Рейтинг: 0 / 0
03.03.2021, 11:17
    #40050180
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить причину зависания MDX запроса?
Кстати, возможно, что скрипт это продукт попытки пользователя вывести в Эксель данные из куба особо изощренным способом, а не сгенерированный софтом трешскрипт.
Даже скорее всего так и есть.
...
Рейтинг: 0 / 0
03.03.2021, 15:20
    #40050354
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить причину зависания MDX запроса?
SQL2008,

то что сгенерён - однозначно. что-то подобное делает эксель.

но что потом делать с этим - не понятно..
строка одна, эксель - 16тыс колонок максимум. не выгрузишь.
единственное что приходит на ум - какой-то график, но зачем остальные атрибуты - не понимаю.

у Вас 100тыс элементов в измерении перемноженное на количество элементов в каждом задействованном атрибуте этого-же измерения.
автоэкзист здесь не рабоатет - не его задача.
нонэмпти - только после получения результатов.
теперь представьте сколько надо перелопатить серверу чтобы выкинуть 99% несуществующих пересечений.

а всего-то надо было вытащить 100к контрагентов, оставить у которых были факты покупок, и прицепить к ним их-же свойства.

одна из часто встречаемых рекомендаций "давать доступ только к пользовательским иерархиям" у нас тоже не прокатывает. наш бизнес: "дайте все что есть, чтобы можно было вытянуть, а не свойствами смотреть". а потом от них же.. "а что так все медленно?"
приходится учить, объяснять.. но каждый раз одно и то же "что-то я вот сюда тяну, а оно вываливается/не отвечает.."
...
Рейтинг: 0 / 0
05.03.2021, 09:53
    #40050954
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить причину зависания MDX запроса?
ShIgor, абсолютно с вами согласен.
Я задал вопрос заказчику - "А, собственно, что вы хотели получить? Как вы планировали на глаз анализировать данные по 100 тыс клиентов?"
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как определить причину зависания MDX запроса? / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]