Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / ADOMD - вывод данных / 14 сообщений из 14, страница 1 из 1
13.03.2006, 17:49
    #33597642
EugenT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
Доброго времени суток!

ADOMD (Com-овский)

Подскажите можно ли как-нибудь ускорить вывод данных из ADOMD.CellSet после формирования отчета! Т.к. получается, что 30% времени формирования отчета - это выполнение MDX-запроса, а 70% вывод данных из ADOMD.CellSet.

Замедление вывод наблюдается, когда в запросе используется CM, а когда физические Measures, тогда все быстро.
...
Рейтинг: 0 / 0
13.03.2006, 18:20
    #33597722
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
EugenTДоброго времени суток!

ADOMD (Com-овский)

Подскажите можно ли как-нибудь ускорить вывод данных из ADOMD.CellSet после формирования отчета! Т.к. получается, что 30% времени формирования отчета - это выполнение MDX-запроса, а 70% вывод данных из ADOMD.CellSet.

Замедление вывод наблюдается, когда в запросе используется CM, а когда физические Measures, тогда все быстро.

это не вывод данных из CellSet, это расчет самих CM жрет время, т.к. CM считаются на клиенте по мере обращения к ним.
...
Рейтинг: 0 / 0
13.03.2006, 19:25
    #33597904
EugenT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
backfire
это не вывод данных из CellSet, это расчет самих CM жрет время, т.к. CM считаются на клиенте по мере обращения к ним.
А можно это как-нибудь ускорить или перенести расчет на сервер? (т.е. если поставить Execution Location Property=3)
...
Рейтинг: 0 / 0
13.03.2006, 19:30
    #33597918
EugenT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
backfire
это не вывод данных из CellSet, это расчет самих CM жрет время, т.к. CM считаются на клиенте по мере обращения к ним.

а что тогда делается, когда вызывается функция Open у ADOMD.CellSet?
Может я неправ, но мне кажется, что вывод в MDX Sample Application быстрее, т.е. время тратится только на выполнение запроса!?
...
Рейтинг: 0 / 0
13.03.2006, 19:37
    #33597932
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
EugenT backfire
это не вывод данных из CellSet, это расчет самих CM жрет время, т.к. CM считаются на клиенте по мере обращения к ним.

а что тогда делается, когда вызывается функция Open у ADOMD.CellSet?
Может я неправ, но мне кажется, что вывод в MDX Sample Application быстрее, т.е. время тратится только на выполнение запроса!?

Если кажется, то надо брать в руки секундомер и оперировать цифрами.

Вы из чего вызываете CellSet.Open? Каков порядок количества ячеек?
...
Рейтинг: 0 / 0
14.03.2006, 09:30
    #33598467
EugenT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
backfire
Вы из чего вызываете CellSet.Open? Каков порядок количества ячеек?

CellSet.Open вызываю из Access. Во всем процессе выполнения отчета есть два промежутка времени, где идет задержка:
1. Когда вызывается CellSet.Open (т.е. отрабатывает отчет, занимает где-то 30% времени от всего отчета)
2.Когда выводятся значения в область данных - CellSet(i,j).FormatedValue (задержка заключается в том, что каждое значение выводимое в область данных из ячейки CellSet(i,j) выводится с задержкой и занимает 70% времени от всего отчета)
Вопрос: Разве CellSet после отработки CellSet.Open не должен содержать уже посчитанные данные? Если я прав, тогда почему происходит задержка при обращении CellSet(i,j).FormatedValue? (напоминаю, значение это CM)
...
Рейтинг: 0 / 0
14.03.2006, 11:23
    #33598812
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
авторВопрос: Разве CellSet после отработки CellSet.Open не должен содержать уже посчитанные данные?

Нет в ADOMD в отличие от ADFOMD.NET, не содержит всех величин, после своего открытия и заполняется только по мере обращения к ним. Естесствено, если в ячейках CM, то и считаются они по мере обращения к ним. Этим и объясняется задержка, которую вы наблюдаете.
...
Рейтинг: 0 / 0
14.03.2006, 11:40
    #33598898
EugenT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
backfire
Нет в ADOMD в отличие от ADFOMD.NET, не содержит всех величин, после своего открытия и заполняется только по мере обращения к ним. Естесствено, если в ячейках CM, то и считаются они по мере обращения к ним. Этим и объясняется задержка, которую вы наблюдаете.

Уточните плз, т.е. я правильно понимаю, что если аналогичный запрос выполнить в ADOMD.NET, то CellSet после CellSet.Open уже будет содержать все посчитанные значения даже, если использовался CM?!
...
Рейтинг: 0 / 0
14.03.2006, 13:02
    #33599182
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
EugenT backfire
Нет в ADOMD в отличие от ADFOMD.NET, не содержит всех величин, после своего открытия и заполняется только по мере обращения к ним. Естесствено, если в ячейках CM, то и считаются они по мере обращения к ним. Этим и объясняется задержка, которую вы наблюдаете.

Уточните плз, т.е. я правильно понимаю, что если аналогичный запрос выполнить в ADOMD.NET, то CellSet после CellSet.Open уже будет содержать все посчитанные значения даже, если использовался CM?!

Давайте определимся, к какому серверу вы ходите (AS2K или AS2K5) и в чем вы пишите ваши приложения.
...
Рейтинг: 0 / 0
14.03.2006, 13:40
    #33599333
EugenT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
backfire EugenT
Уточните плз, т.е. я правильно понимаю, что если аналогичный запрос выполнить в ADOMD.NET, то CellSet после CellSet.Open уже будет содержать все посчитанные значения даже, если использовался CM?!

Давайте определимся, к какому серверу вы ходите (AS2K или AS2K5) и в чем вы пишите ваши приложения.

Сейчас приложение написано на Access, где используется ADOMD (AS2K).

Я прекрасно понимаю, что можно написать приложение на VS(например,С#), где использовать ADOMD.NET (для AS2K) -так вот для это и просил уточнить, что если используется ADOMD.NET, то после CellSet.Open - CellSet уже будет содержать все посчитанные значения, даже если использовался CM или будет аналогично ADOMD(Com)?

Если Вы владеете информацие, как обстоят дела для аналагичного запроса для AS2K5, то пожалуйста напишите.
...
Рейтинг: 0 / 0
14.03.2006, 17:12
    #33600195
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
Суть в том, что CM в AS2K считаются на клиенте. Даже если вы и будете исаользовать ADOMD.NET, итоговая скорость обработки не возрастет, просто ADOMD.NET откроет вам CellSet только после того, как все Cells будут рассчитаны.

Вообще я вам советую почитать White Papers на MSDN о основных различиях между AS2K и AS2K5 и в тезнологиях доступа к их данным.
...
Рейтинг: 0 / 0
15.03.2006, 10:38
    #33601445
EugenT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
backfireСуть в том, что CM в AS2K считаются на клиенте. Даже если вы и будете исаользовать ADOMD.NET, итоговая скорость обработки не возрастет, просто ADOMD.NET откроет вам CellSet только после того, как все Cells будут рассчитаны.

Вообще я вам советую почитать White Papers на MSDN о основных различиях между AS2K и AS2K5 и в тезнологиях доступа к их данным.

ОК, спасибо.
А откройте секрет, как Вы решаете в своем приложении (Вы же сами написали своего клиента?!) данную задачу?
Т.е. используете ли Вы какие-либо ухищерения для ускорения вывода данных?
...
Рейтинг: 0 / 0
15.03.2006, 12:18
    #33601880
Валек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
8-) поменьше данных выводить, смысл стараться вывести сразу все
...
Рейтинг: 0 / 0
15.03.2006, 12:40
    #33601986
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADOMD - вывод данных
EugenT backfireСуть в том, что CM в AS2K считаются на клиенте. Даже если вы и будете исаользовать ADOMD.NET, итоговая скорость обработки не возрастет, просто ADOMD.NET откроет вам CellSet только после того, как все Cells будут рассчитаны.

Вообще я вам советую почитать White Papers на MSDN о основных различиях между AS2K и AS2K5 и в тезнологиях доступа к их данным.

ОК, спасибо.
А откройте секрет, как Вы решаете в своем приложении (Вы же сами написали своего клиента?!) данную задачу?
Т.е. используете ли Вы какие-либо ухищерения для ускорения вывода данных?


Какую задачу конкретно?

Т.к. запросы генерит мое приложение, то я не стараюсь создать универсальных (и тормозных) CM, а стараюсь строить максимально эффективный MDX, до и дизайн куба не на последнем месте.
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / ADOMD - вывод данных / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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