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

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

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

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

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

в профайлере, в Trace Properties, на закладке Event Selection, отметьте все поддерево Query Processing.
и можно еще поддерево Progress Reports.
...
Рейтинг: 0 / 0
Как определить причину зависания MDX запроса?
    #40048509
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гулин Федор
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
Как определить причину зависания MDX запроса?
    #40048777
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008,

интересно, что за продукт этот запрос сваял?
...
Рейтинг: 0 / 0
Как определить причину зависания MDX запроса?
    #40049760
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Методом проб определил, что проблема в этом куске кода
Код: 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
Как определить причину зависания MDX запроса?
    #40049852
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008,

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

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

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

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

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

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

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

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

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

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

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

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


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