Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
А если серьезно - постройте кубик например из 30 parent-child Незнаю как в других, но в 9i ROLAP не работает с несбалансироваными иерархиями. В то время как Express обрабатывает отлично (ну и наверное 9i AW). Так что же в этом случае, ну и вообще раскажите как другие работают с такими иерархиями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 13:44 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
2 DimaR В Discoverer можно эмулировать несбалансированные (unbalanced tree hierarchies) иерархии. Например, если структура департамента продаж образует несбалансированную иерархию, то в отчете по реализации в разрезе менеджеров и отделов можно видеть агрегированные показатели реализации по отделам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 14:14 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
2 DimaR Express работает с несбалансированными иерархиями, но не с таким их количеством. То есть 30 измерений собрать и сделать Rollup по всем не получится. Иногда в ROLAP не нужно присутствие именно несбалансированных иерархий, запрос можно построить другим способом. Иногда нельзя :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 14:25 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
2 Birkhoff >Таблицы-то таблицами, но есть еще материализованные View с Query Rewrite, >которые непосредственно к реляционной модели имеют опосредованное >отношение. Почему опосредованное? MV в которых хранятся агрегированные результаты соединения нескольких таблиц по сути являются такими же реляционными таблицами только уже не с детальными, а агреггированными фактами. Кроме того для обновления их необходимо полностью пересоздать. Я уже не говорю о том что создание и обновление MV всегда связано с дополнительными накладными расходами для OLTP базы (если они создаются в ней). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 14:55 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
2 .dba Как раз насчет полностью это вы не правы. Существуют разные способы пересоздания. Но иногда, конечно, необходимо полностью. В MOLAP данные тоже надо сначала загрузить и проагрегировать, что тоже является таким же пересозданием как и в случае MV. А то что MV - таблицы базы, конечно, но QR не связан с реляционной моделью,это уже надстройка, которая и позволяет достичь повышения производительности. И еще один момент, аналитические базы данных обычно предполагают отставание во времени от боевых, хотя в последнее время придумываются штуки вроде Real-Time OLAP, чтобы это победить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 15:04 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
Real-Time OLAP пользователи очень любят, особенно если с оперативными отчетами в OLTP-системе не очень... Только вот для реализации Real-Time OLAP приходится модифицировать таблицы источников данных, чтобы те содержали дату-время последней модификации записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 15:20 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
>Как раз насчет полностью это вы не правы. Существуют разные способы >пересоздания. Но иногда, конечно, необходимо полностью. Я говорил о конкретном типе MV - " в которых хранятся агрегированные результаты соединения нескольких таблиц ". Именно этот тип в Оракле обновляется путем полного пересоздания. Если не верите могу привести ссылки. Я говорю именно об этом типе MV т.к. он чаще всего необходим для представления многомерных данных. >И еще один момент, аналитические базы данных обычно предполагают >отставание во времени от боевых, хотя в последнее время придумываются >штуки вроде Real-Time OLAP, чтобы это победить. Я уже писал, что обновление агрегированного MV на боевой базе является серьезной проблемой с точки зрения производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 15:21 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
>А то что MV - таблицы базы, конечно, но QR не связан с реляционной >моделью,это уже надстройка, которая и позволяет достичь повышения >производительности. QR (query rewrite) не более чем механизм изменения запроса направленного на таблицу в запрос перенаправленный к MV и к хранению данных никакого отношения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 15:26 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
To Birkhoff: А если серьезно - постройте кубик например из 30 parent-child измерений, глубиной например по пять уровней и общим числом листьев в районе нескольких сотен. А потом попробуйте его сагрегировать. Даже если на нижнем уровне будет 1000 записей, для MOLAP сервера это будет очень тяжело. Не знаю выдержит ли MS AS такое? А в Cognos наверное такой эксперимент вообще поставить нельзя. Спасибо, интересный пример. Я как то делал куб в Cognos PowerPlay с 50 измерениями и 50 показателями, но не все измерения были иерархическими. Тогда я закачал в куб 50 тысяч записей, и проблем с производительностью не наблюдал. Думаю Ваш пример хорош для проверки качества OLAP-движка. Обязательно потестирую Cognos PowerPlay. Было бы интересно провести такой же эксперимент на MS AS, Oracle Express и Hyperion Essbase - и провести сравнительный анализ (каков получится размер куба, сколько времени он будет процесситься, сколько времени потребуется на проектирование куба). Кстати, в чем с Вашей точки зрения сложность этого примера для MOLAP - в том, что в кубе будет очень много ячеек? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 15:47 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
2 .dba QR (query rewrite) не более чем механизм изменения запроса направленного на таблицу в запрос перенаправленный к MV и к хранению данных никакого отношения не имеет. Вот и я говорю, что к храненению данных QR никакого отношения не имеет, поэтому и не относится ни к MOLAP ни к ROLAP. И вообще термины были придуманы давно и сейчас граница между ними расплывается. В общем этот вопрос скорее философский. :) Я уже писал, что обновление агрегированного MV на боевой базе является серьезной проблемой с точки зрения производительности. Конечно, но для этого существуют выделенные сервера - хранилища данных, чтобы не нагружать боевой сервер. Я говорил о конкретном типе MV - "в которых хранятся агрегированные результаты соединения нескольких таблиц". Именно этот тип в Оракле обновляется путем полного пересоздания. А я говорил о MV вообще. Я не помню того, что этот тип MV требует полного пересоздания, но вполне возможно, лень проверять :). А насчет того, что этот тип в основном и используется - тут уж зависит от архитектуры хранилища. У кого-то да, у кого-то нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 15:56 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
2 Jurii Кстати, в чем с Вашей точки зрения сложность этого примера для MOLAP - в том, что в кубе будет очень много ячеек? Да, конечно, в том что слишком много ячеек, но не только. Любой нормальный MOLAP сервер умеет работать с пустыми пространствами в кубе, иначе никаких терабайтов не хватит для того, чтобы записать все ячейки на диск. У каждого производителя механизм работы с пустотами свой. Смысл сводится к тому, что часть данных заранее агрегируется и записывается на диск, а часть вычисляется на лету. Тот же QR работает в общем-то по тому же принципу. Пример, про который говорилось, я пробовал делать на Express. Важно именно соблюсти условия, про которые я сказал - большое количество именно иерархических измерений, так как неиерархические обсчитываются гораздо легче и требуют меньше места. Я выскажу свое личное предположение: у более современных MOLAP движков преимущество в том, что они создавались в условиях, когда например 256MB RAM на рабочей станции не экзотика. А старые движки вроде Express делались в то время, когда и на сервере 4 мегабайта было много. Поэтому приходилось извращаться и не замахиваться на такие большие объемы, перелопатить 7-8 измерений на медленных дисках и 4мб RAM было круто. А тот же MS AS сейчас может занять 256МБ под кэш куба и вычислять на лету огромные объемы. Но все равно, мне интересно вытянет ли тот же MS AS такой объем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 16:13 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
2Birkhoff Вытянет, но "как" это зависит от целого ряда факторов. Parent-Child агрегируется на уровне All и Soft. Если Parent-Child содержит до 50.000 элементов особых проблем не будет. Если станет больше тогда лучше синтезировать Parent-Child как Regular. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2003, 17:03 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
2 Владимир Тут ведь еще ситуация осложняется тем, что там не одно parnet-child измерение, а их несколько десятков. Поэтому все еще сложнее. На каждом конкретном измерении листьев может быть немного, но зато много уровней и большое количество самих измерений. Кстати задача реальная, мне такую пришлось решать. А в regular часто не переложишь, если иерархия несбалансированная - как это сделаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2003, 17:45 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
2Birkhoff И я решал. Вопрос что за отчет будут стоить. Если всегда будут выбирать по 1-2 Parent-Child из 40 имеющихся, все будет быстро, т.к. не выбранные измерения скроются за All-агрегатом. Если комбинации более 2х Parent-Child предварительная агрегация тут мало помогает. По законам комбинаторики мы попадаем скорее всего в "MOLAP-дырки" даже при плотности 80%. Выход тут в создании синтетических измерений, еслу вдруг начинаются тормоза. В Express это как-то не так? Измерение близкое к несбалансированному можно сделать через Ragged Hierarchies. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/olapdmad/agdimensions_8jzn.asp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2003, 17:58 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
2 Владимир В Express это примерно так же, проблема в другом, - он для такого количества измерений не может преднасчитать ALL агрегацию, видимо потому что по законам той же комбинаторики и ALL агрегатов получается очень много. А если все обсчитывать на лету - тоже не проходит. MS AS лучше считает агрегаты. Может кому то и удавалось на Expresse такое поднять, но я не встречал пока. А запросы какие будут - ну ясное дело произвольные :) И действительно, в любой момент времени нужен срез не более чем по 5-6 измерениям, но какой именно срез понадобится в следующий момент - никто не знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2003, 18:19 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
Всем привет! Приведу описание примера по созданию куба с 30 измерениями в OLAP-сервере Cognos PowerPlay: 1) Создал в Excel 1 колонку с числами от 10001 до 11000. Далее создал 30 колонок с заголовками "izm01" ... "izm30". Далее заполнил эти колонки значениями типа "member_izm1610388" (для каждой колонки свой набор из 1000 уникальных значений). Итого - 31 колонка. Размер файла XLS - 2.1 Mb. 2) Создал в модуле PowerPlay Transformer модель куба. В источнике данных (таблица фактов) - 31 колонка из Excel + 4 вычисляемые колонки (соответственно 1, 2, 3 и 4 первых символа от первой пятисимвольной колонки). Эти 4 колонки я использовал как 4 уровня измерения для каждого из 30 измерений. 5-й, нижний уровень брался из следующих 30 колонок. Показателем сделал первую колонку. 3) Сгенерировал куб. Время генерации - 49 секунд. Размер куба - 10 Mb (в сжатом виде - 1.3 Mb). Количество категорий (members) - примерно 35 тысяч (в каждом из 30 измерений по 1000 листьев + узлы иерархии). 4) При тестировании работы куба в OLAP-клиенте PowerPlay User замедления не наблюдалось, даже когда делал глубокую вложенность (10 уровней в боковике и 3 уровня в шапке) и накладывал фильтры по другим измерениям. Такой подход я избрал, поскольку подготовить данные - это долгий процесс, а свободного времени немного. Понятно, что пример получился несколько упрощенный, иерархии сбалансированные. Как думаете, интересен ли такой эксперимент? Хочет ли кто-нибудь его повторить на своем инструментарии? Если будут желающие - могу выложить на сайт http://cognos.narod.ru исходный XLS-файл для скачивания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2003, 11:52 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
2 Jurii Эксперимент, безусловно, интересный. Вот только я не совсем понял, как вы строили уровни по каждому из измерений? Можно пояснить на примере? Получилось ли при этом 30 пятиуровненых измерений? И выложить файл было бы полезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2003, 12:15 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
To Birkhoff: Исходные данные можно скачать с http://cognos.narod.ru/Xls30izm.zip . В модели куба у меня именно 30 измерений, в каждом из которых по 5 уровней иерархии. По-хорошему, нужно было сделать в Excel для 30 измерений не 30, а 150 колонок, но это потребует долгой рутинной работы. Если есть на форуме волонтеры - сделайте для каждой из 30 колонок еще 4 колонки: в первой будет взят первый символ из пяти правых крайних, во второй - два первых символа из пяти правых крайних, и т.д. (три первых и четыре первых символа). Это и будут колонки для формирования уровней иерархии с первого по четвертый (искуственная классификация). Я пошел по альтернативному пути. Создал в модели куба 4 вычисляемые колонки с помощью формулы Substring (izm01, 13, N), где N - это число от 1 до 4 (то есть были вычислены подстроки от строки из колонки izm01, начиная с 13 символа, длиной N символов. Поскольку крайние правые 5 символов у всех 30 колонок для каждой строки одинаковы, я перетащил эти 4 вычисляемые колонки друг под друга в каждое из 30 измерений. А пятый нижний уровень для первого измерения взял из колонки izm1, для второго измерения - из колонки izm2, ..., для тридцатого измерения - из колонки izm30. Понятно ли мое объяснение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2003, 12:46 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
Разясните новичку, предыдущий пример, а то я ничего не пойму. Может у меня с арифметикой плохо. Возьмем без иерархий 1000^30=1.e+90 значений Возьмем теперь какой либо процент заполнения куба , пусть даже милионные доли процента, Всетаки я могу представить порядок цифр и объем данных, а с иерархиями (тем более несбалансироваными) еще сложнее. Где у меня ошибка??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2003, 13:10 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
To DimaR: Разясните новичку, предыдущий пример, а то я ничего не пойму. Вы не понимаете, почему куб получился довольно небольшим при таком большом количестве измерений? Возьмем без иерархий 1000^30=1.e+90 значений Пока все правильно, Вы вычислили число ячеек куба. Возьмем теперь какой либо процент заполнения куба , пусть даже милионные доли процента, Всетаки я могу представить порядок цифр и объем данных, а с иерархиями (тем более несбалансироваными) еще сложнее. А вот здесь Вы ошибаетесь. Почему Вы думаете, что процент заполнения куба - миллионные доли процента? Ведь закачали то мы всего 1000 записей, в кубе заполнено всего 1000 ячеек, ну и в каком-то количестве ячеек созданы агрегаты (у каждого OLAP-сервера свой метод создания агрегатов). Не исключено, что реальный процент заполнения куба - не 1.e-8, а 1.е-85. Как показывает этот пример, OLAP-движок Cognos имеет высокое качество и не подвержен проблеме лавинообразного роста размера куба. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2003, 13:40 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
Ведь закачали то мы всего 1000 записей На кой черт мне OLAP сервер для анализа 1000 записей? Как правило реальный объемы совсем другие, то что я пробовал на Express по 2 измерениям Иерархия Год-Месяц-День 365 дней Иерархия Товары (несбалансированая по группам товаров от 1 до 7 уровней в ветке) 40000 товаров 400 груп (все в иерархии). Анализ нужен до самых нижних уровней, то есть и по конкретным товарам и по дням. было более 2000000 записей, так это просто тесты. Я думаю у Expreess, и у 9i ROLAP, и у Discoverer на 30 иерархиях на 1000 записей тоже не возникнет никаких проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2003, 16:00 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
To DimaR: На кой черт мне OLAP сервер для анализа 1000 записей? Вы прочитайте эту дискуссию :) В ходе нее возник вопрос, как можно умертвить MOLAP. Поступило предложение - сделать куб с 30 измерениями и закачать в него всего 1000 записей. Это было сделано с помощью Cognos PowerPlay и теперь все знают, что MOLAP - это не такая слабая штука. Теперь правда надо проверить, все-ли MOLAP-продукты могут решать такие задачи... Как правило реальный объемы совсем другие, то что я пробовал на Express по 2 измерениям Иерархия Год-Месяц-День 365 дней Иерархия Товары (несбалансированая по группам товаров от 1 до 7 уровней в ветке) 40000 товаров 400 груп (все в иерархии). Ну правильно, раз Вы работаете с Express - то Вы знаете его слабые стороны и стараетесь избегать ситуаций, когда в кубе более 5 измерений. А теперь представьте, что аналитик поработал с Вашим кубом, увидел, что по какому-то товару прибыль маленькая, отфильтровал 1000 фактов продаж конкретно этого товара и решил провести исследование, какие факторы влияют на прибыльность по данному товару. Аналитик определился с потенциальными факторами (их предположим примерно 30 :) , подключил к таблице фактов эти несколько десятков классификаторов и захотел повертеть в кубе этот маленький, но широкий массив данных - вот мы и пришли к нашему примеру :) Я думаю у Expreess, и у 9i ROLAP, и у Discoverer на 30 иерархиях на 1000 записей тоже не возникнет никаких проблем Вот и сделайте доброе дело - проведите тесты на основе выложенных мною для скачивания данных ( http://cognos.narod.ru/Xls30izm.zip ), опубликуйте их результаты. В первую очередь посетителей форума интересует MOLAP-продукт Express (в нем более удобно проводить многомерный анализ с Drill-down/up по иерархиям). Лично мне очень интересно узнать, какой размер будет у куба, сколько по времени он будет процесситься, сможете ли Вы в течение 20-30 минут спроектировать куб, или у Вас уйдет больше времени, и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2003, 16:52 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
2 DimaR Ну не все же задачи сводятся к анализу продаж. Существует еще анализ, колторый называется многофакторный. Когда самих записей может быть и немного, но за то параметров. Измерений, отношений - сколько угодно. 2 Jurii Это хорошая новость, что MOLAP Cognos может это ворочать, жаль экперимент не чистый, т.к. уровневая иерархия она и есть уровневая - алгоритм обсчета агрегатов очень прозрачный. Собственно и ROLAPа хватит. А в Express все измерения parent-child, что и хорошо и плохо одновременно. Интересно, сможет ли кто-то это сделать именнно на 30 несбалансированных иерархиях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2003, 17:11 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
К слову, я провел данный тест в MS AS. Ни каких проблем, причем создание 100 агрегатов для данного примера заняло несколько секунд. Хотя я думаю тут Cognos как раз тормозил, агрегация у MS быстрее. Размер OLAP-базы составил всего 300kb. Следует отметить, что данный тест не совсем то что предлагал Birkhoff. В его примере речь шла о несбалансированном Parent-Child. Такое измерение OLAP-серверу трудно агрегировать, а Cognos вообще такие измерения строить не умеет. В примере, где Parent-Child транслирован в аналог регулярного измерения MS AS и Cognos очень сильны своими MOLAP агрегатами. Я строил схожий пример причем для реальной системы в Сатурне, где были Parent-Child до 50 тыс. в таком измерении все Ok, т.к. MS AS сделает All-агрегации. В принципе ok если 2 большие Parent-Child и остальные регулярные, но не всегда. К слову, подобные фокусы не для чайников. Если измерения вырастут до нескольких сотен тысяч элементов можно врезаться в неправильную обработку транзации базы MS AS. Как результат... сервер гибнет со всем содержимым. Дело в том, что даже если нажать Reset при старте MS AS снова начнется бесконечная работа транзактора. Так что осторожнее с тестами, тут все работает в MS AS, но нужен опыт. Хотя я думаю что при 30 измерениях по 300 тыс. элементов Cognos тоже начнет творить чудеса. Юр, попробуй, любопытно что будет. PS. А то что Express ляжет даже на примере из 1000 записей это к доктору не ходи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2003, 17:21 |
|
||
|
OLAP в Axapta
|
|||
|---|---|---|---|
|
#18+
To Birkhoff: уровневая иерархия она и есть уровневая - алгоритм обсчета агрегатов очень прозрачный. Собственно и ROLAPа хватит. Я думаю на выбор между MOLAP и ROLAP влияет не только наличие или отсутствие несбалансированной иерархии, но и масса других факторов, которые довольно часто обсуждаются на OLAP-форумах... Интересно, сможет ли кто-то это сделать именнно на 30 несбалансированных иерархиях? Давайте уточним, что такое несбалансированная иерархия. Например: Id, Name, Parent_Id 1, Товары, 0 2, Услуги, 0 11, Товары продовольственные, 1 12, Товары непродовольственные, 1 111, Пиво, 11 112, Водка, 11 Эта иерархия является несбалансированной? Если да - то у того же Cognos нет стандартных средств для подобных табличек с 3 полями, а используются более универсальные методы работы с иерархиями (далеко не всегда иерархия лежит в 3 полях одной таблицы). В конечном итоге с помощью создания алиасов для таблицы с иерархией все сводится к следующему виду: Колонка1, Колонка2, Колонка3, Колонка4 Группа1, Подгруппа11, NULL, Товар15 Группа1, Подгруппа12, Подгруппа121, Товар17 Группа2, NULL, NULL, Товар24 Другими словами получаем определенное количество колонок (это число больше или равно числу уровней иерархии по самой глубокой ветви, если иерархия часто изменяется - делают лишние алиасы и добавляются несколько пустых колонок, содержащих NULL, чтобы был запас). Далее колонки подтаскивают одну под другую и получается иерархическое измерение куба, в каждом уровне которого проставляется свойство схлопывания пустых уровней. В итоге при Дрилл-дауне в кубе по одной ветви можно углубиться более глубоко, по другой - менее глубоко. Если бы у меня было лишнее свободное время - я мог бы сделать и такой пример, но уж очень муторно генерить 30 иерархических несбалансированных категорий. Может у кого-нибудь исходные данные уже подготовлены? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2003, 17:44 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=32234233&tid=1873200]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
200ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 313ms |

| 0 / 0 |
