Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Шургин Сергей Birkhoff Разница в том, что Discoverer знает, что он работает с базой данных Oracle и знает о ее продвинутых фичах, и их и использует. BO тоже знает с чем работает. Более того. Когда-то в Oracle работал и основатель BO :) Встречный вопрос. Что значит "знает"? В чем это выражается? :) Шургин Сергей Birkhoff А BO, в силу своей универсальности по отношению к источникам, много работы берет на себя и при больших объемах получается что роль сервера баз данных начинает играть слабенькая клиентская машина. Есть такая штука, ZABO - в роли слабенькой клиентской машинки можно использовать кластер из Win и UNIX-серверов. А как это работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 12:26 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
авторУ меня предложение, давайте поконкретнее, а то все обсуждение сваливается на маркетинговые лозунги. Приведите конкретные примеры, когда BO берет на себя роль сервера и какие таки фичи Oracle он а) принципиально не может использовать б) может использовать принципиально, но не в стандартной манере (визуально) Существуют проекты на BO, которые работают по таблицам фактов более 100 млн. записей - в одном из крупных европейских банков подобное существует, за счет чего - не знаю, знаю, что в BO есть возможность использование родных функций ORACLE, в частности вполне удобно часть расчетов отдать серверу, здесь уже нужны знания серверной части и его производительности, но то, что BO может работать на больших объемах - это факт. Вопрос не в производительности, посмотрим и Disco Plus -(Backfire спасибо за разъяснение ситуации с продуктом Oracle Discoverer и +, выглядит вроде как надо). Меня интересует еще один момент - Disco + может работать как с кубами, так и с реляционными данными, объединять их в одном отчете, например ? Какие службы (продукты) необходимо поднять, какая конфигурация требуется для этого ? Теперь еще один момент - объединение пользовательских данных с данными корпоративными - это самое важное при выборе BI инструмента, на самом деле - поскольку не всегда все данные храняться в учетных системах, а это означает, что всегда будет область данных, находящихся в персональных файлах, порой их так даже выгоднее держать - например в процессе планирования происходят много изменений, что требует - быстро, что называется на ходу, подложить обновленный XLS и переформировать отчет - BO этим сильно подкупает, в Improptu тоже можно организовать подобное, как с этим обстоит в Disco +. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 12:33 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Birkhoff Встречный вопрос. Что значит "знает"? В чем это выражается? :) Это означает, что при генерации SQL отличает MS от Oracle. Ваше предложение можно было трактовать очень двояко. По сути Александр Стулов написал. Birkhoff Шургин Сергей Birkhoff А BO, в силу своей универсальности по отношению к источникам, много работы берет на себя и при больших объемах получается что роль сервера баз данных начинает играть слабенькая клиентская машина. Есть такая штука, ZABO - в роли слабенькой клиентской машинки можно использовать кластер из Win и UNIX-серверов. А как это работает? Не совсем понятно, что понимается под этим вопросом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 12:40 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Шургин Сергей Birkhoff Шургин СергейЕсть такая штука, ZABO - в роли слабенькой клиентской машинки можно использовать кластер из Win и UNIX-серверов. А как это работает? Не совсем понятно, что понимается под этим вопросом? Ну в этом и вопрос, объясните как это работает (ZABO) когда он может работать и какие преимущества дает? И вот еще вопрос я так и не понял ответа. Что значит что он различает Oracle и SqlServer? Он может использовать конструкции типа Rank over partition в генерящихся запросах? (это не наезд, это вопрос :-) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 13:04 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Alexander StoulovУ меня предложение, давайте поконкретнее, а то все обсуждение сваливается на маркетинговые лозунги. Это где же вы у меня маркетинг то усмотрели? Упоминание торговых марок? :) Alexander StoulovПриведите конкретные примеры, когда BO берет на себя роль сервера и какие таки фичи Oracle он а) принципиально не может использовать б) может использовать принципиально, но не в стандартной манере (визуально) Принципиально что угодно может использовать что угодно. Вопрос как. Тут есть несколько моментов. Конечно можно написать произвольный SQL, который будет засылаться на сервер и там исполняться. Но это не стандартная фича. Обычный пользователь не сможет написать такой запрос, а сам он не сгенерится. Второй момент - в Disco можно использовать например аналитические функции Oracle типа LAG, LEAD, RANK и так далее в рамках стандартного функционала Disco, а не написания произвольного запроса (хотя такая возможность тоже есть). Можно ли в BO прописать использование функций типа RANK , чтобы они вставлялись в сгенеренный SQL? (проблема в том, что это не обыные функции, а имеющие специальный синтаксис в SQL) Еще вопрос, как обслуживаются вычисляемые выражения в BO? Они обсчитываются на сервере или на клиенте? Вообще мне следует оговориться, что поскольку я не являюсь специалистом по BO, то мои представления о нем могут оказаться неверными. Поэтому когда я говорю, что что-то работает хуже-лучше или не работает, может оказаться что это мои кривые руки, а вовсе не проблема продукта. Ну на то и форум, чтобы находить правду :) (по крайней мере мне бы так хотелось) Вот какую проблему я видел и не смог обойти. (Хотя возможно кривые руки) Результат запроса, посланного BO на сервер находится в памяти клиента и все вращения кубов происходят тоже там же. Если же объем выборки велик, то компьютер клиента при этом практически умирает. Наверное, можно использовать фильтры для уменьшения выборки. Но что, если нужно использовать хитрые конструкции типа вложенных аналитических функций или конструкций типа ROLLUP? Они обcчитываются на всей выборке, но в случае Disco обсчет идет на сервере, а в случае BO на клиенте. (По крайней мере, я не нашел обратного) Потом, когда делаешь Drill Down, такое впечатление что BO достает все данные по всем уровням, а потом в памяти их объединяет, что вызывает жуткие тормоза при глубоких иерархиях. Ну и так далее... Alexander Stoulov Теперь по возможности объединять в ВО данные из разных источников. В 90 % случаев эта возможность используется для создания отчетности по одному источнику (DWH и оно чистое). Просто в отчете необходимо объединить результаты различных SQL выражений (разных таблиц фактов). Какой SQL генерит в этом случае DISCO? Например, сравнить фактические продажи по дням с тремя видами планов. Все это сгруппировать по неделям и месяцам, плюс в группировке по месяцам добавить отдельной строкой данные за прошлый год. Если между этими таблицами определены связи, то и будет генериться SQL выражение, объединяющее три таблицы. Еще один вариант - создается custom folder, который содержит UNION, объединяющий три таблицы, но а дальше работаем как с одной таблицей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 13:34 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Zohar Существуют проекты на BO, которые работают по таблицам фактов более 100 млн. записей - в одном из крупных европейских банков подобное существует, за счет чего - не знаю, знаю, что в BO есть возможность использование родных функций ORACLE, в частности вполне удобно часть расчетов отдать серверу, здесь уже нужны знания серверной части и его производительности, но то, что BO может работать на больших объемах - это факт. Да я думаю дело не столько в возможностях BO, а в том как построена аналитическая система в целом. Можно и из Excel читать данные из 100 миллионной таблицы и все будет работать быстро, если сервер настроен правильно и запрос простой. Zohar Вопрос не в производительности, посмотрим и Disco Plus -(Backfire спасибо за разъяснение ситуации с продуктом Oracle Discoverer и +, выглядит вроде как надо). Меня интересует еще один момент - Disco + может работать как с кубами, так и с реляционными данными, объединять их в одном отчете, например ? Какие службы (продукты) необходимо поднять, какая конфигурация требуется для этого ? В одном отчете нельзя объединить данные из двух отчетов, но можно делать переходы от олап данных к реляционным. Что нужно чтобы поднять. СУБД Oracle (если хотите использовать Disco для OLAP, то база должна быть не ниже 9.2.0.5 и с OLAP опцией) Oracle Business Intelligence (по сути Application Server в минимальном наборе для запуска Discoverer-ов) Операционная система из списка поддерживаемых, на ваш выбор. Если будете работать с OLAP из Excel - то нужно установить на клиенте Excel Addin. Если разработку будете свою делать, то JDeveloper еще c BI Beans. (Это все на диске Tools) Сервер базы и апсервер можно поставить на одну машину, но лучше на две. У меня все для экпериментов стоит на одной машине-персоналке и ничего так работает, правда памяти надо побольше. Zohar Теперь еще один момент - объединение пользовательских данных с данными корпоративными - это самое важное при выборе BI инструмента, на самом деле - поскольку не всегда все данные храняться в учетных системах, а это означает, что всегда будет область данных, находящихся в персональных файлах, порой их так даже выгоднее держать - например в процессе планирования происходят много изменений, что требует - быстро, что называется на ходу, подложить обновленный XLS и переформировать отчет - BO этим сильно подкупает, в Improptu тоже можно организовать подобное, как с этим обстоит в Disco +. C Excel сложнее, Disco может работать с данными, лежащими на других серверах или источниках, но этот источник дожен быть зарегистрирован на сервере БД. В произвольный момент времени произвольный пользователь этого сделать не сможет. Остается вариант - делать выборку в Disco, перекидовать в Excel (Copy-Paste) ну а дальше в экселе сверять с чем угодно :) Ну такой способ, думаю вы и так знаете. P.S. backfire это не я :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 13:52 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Birkhoff Ну в этом и вопрос, объясните как это работает (ZABO) когда он может работать и какие преимущества дает? Пользователь заходит на портал InfoView и закачивается себе специальный плаг-ин. Связь с источниками данных идет через тот же сервер, что используется в WebIntelligence. Функционал ZABO не отличается от BO (за небольшим исключением). Birkhoff И вот еще вопрос я так и не понял ответа. Что значит что он различает Oracle и SqlServer? Он может использовать конструкции типа Rank over partition в генерящихся запросах? (это не наезд, это вопрос :-) ) Это к Александру Стулову. Чуть выше в этом треде он писал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 14:51 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Шургин Сергей Birkhoff Ну в этом и вопрос, объясните как это работает (ZABO) когда он может работать и какие преимущества дает? Пользователь заходит на портал InfoView и закачивается себе специальный плаг-ин. Связь с источниками данных идет через тот же сервер, что используется в WebIntelligence. Функционал ZABO не отличается от BO (за небольшим исключением). То есть, правильно я понимаю, что это плагин, внешне похожий на desktop вариант BO (не знаю как он правильно называется)? А вращение уже скачанных данных где происходит? Тоже на сервере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 15:34 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
BirkhoffПринципиально что угодно может использовать что угодно. Вопрос как. Тут есть несколько моментов. Конечно можно написать произвольный SQL, который будет засылаться на сервер и там исполняться. Но это не стандартная фича. Обычный пользователь не сможет написать такой запрос, а сам он не сгенерится. Абсолютно согласен. Birkhoff Второй момент - в Disco можно использовать например аналитические функции Oracle типа LAG, LEAD, RANK и так далее в рамках стандартного функционала Disco, а не написания произвольного запроса (хотя такая возможность тоже есть). Можно ли в BO прописать использование функций типа RANK , чтобы они вставлялись в сгенеренный SQL? (проблема в том, что это не обыные функции, а имеющие специальный синтаксис в SQL) Еще вопрос, как обслуживаются вычисляемые выражения в BO? Они обсчитываются на сервере или на клиенте? Можно. Делается точно так же, как и при определении любого другого объекта BO Birkhoff Вот какую проблему я видел и не смог обойти. (Хотя возможно кривые руки) Результат запроса, посланного BO на сервер находится в памяти клиента и все вращения кубов происходят тоже там же. Если же объем выборки велик, то компьютер клиента при этом практически умирает. С этим не поспоришь, если вытащили на клиента пол-хранилища, то, естественно медленно работать будет. От архитектуры не убежишь :(( Birkhoff Наверное, можно использовать фильтры для уменьшения выборки. Но что, если нужно использовать хитрые конструкции типа вложенных аналитических функций или конструкций типа ROLLUP? Они обcчитываются на всей выборке, но в случае Disco обсчет идет на сервере, а в случае BO на клиенте. (По крайней мере, я не нашел обратного) Все аналитические функции Oracle типа CUBE, ROLLUP и т.д. поддерживаются BO и, естесственно, считаются на сервере. Хотя, есть возможность считать их и в самом BO Birkhoff Потом, когда делаешь Drill Down, такое впечатление что BO достает все данные по всем уровням, а потом в памяти их объединяет, что вызывает жуткие тормоза при глубоких иерархиях. При Drill Down BO достает данные следующего уровня. Если в опциях не указано применять фильтры детализации, то тащится весь следующий уровень, если указаны, то в SQL вставляются условия where ограничивающие результат по конкретной ячейке, которая детализируется. Т.е. в Вашем случае можно сделать, чтобы детализация-обобщение работала по быстрее, но это все равно будет хуже, нежели у MOLAP сервера. IMHO, хотя в BO и есть этот функционал, но это не то, ради чего стоит его приобретать, все-таки в первую очередь это Ad Hoc & Reporting Birkhoff Alexander Stoulov Теперь по возможности объединять в ВО данные из разных источников. В 90 % случаев эта возможность используется для создания отчетности по одному источнику (DWH и оно чистое). Просто в отчете необходимо объединить результаты различных SQL выражений (разных таблиц фактов). Какой SQL генерит в этом случае DISCO? Например, сравнить фактические продажи по дням с тремя видами планов. Все это сгруппировать по неделям и месяцам, плюс в группировке по месяцам добавить отдельной строкой данные за прошлый год. Если между этими таблицами определены связи, то и будет генериться SQL выражение, объединяющее три таблицы. Еще один вариант - создается custom folder, который содержит UNION, объединяющий три таблицы, но а дальше работаем как с одной таблицей Что значит, если связи определены между таблицами? Есть четыре таблицы фактов (фактически продажи, производственный план, внутренний план продаж, внешний план продаж). Для простоты, примем, что они опираются на одни измерения. Что такое custom folder и как он может содержать UNION. К стыду своему, я пока вообще не представляю, что такле DISCO. Во что это трансформируется для сервера БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 17:41 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
2 Alexander Stoulov Я видел, по крайней мере в той версии BO, что была у меня что он знает о существовании RANK в Oracle. Но как прицепить LAG и LEAD, а тем более сделать их вложенными (Lead внутри Rank), я не нашел. Мне просто интересно посмотреть на пример как это делается в BO, так как я потратил довольно много времени чтобы найти этот функционал. Но возможно версия у меня была старая и с тех пор прогресс ушел вперед. Может быть есть линк какой нибудь в интернете, где подобный пример описывается? В любом случае в качестве резюме, у любого продукта есть свои сильные и слабые стороны. Выбирая продукт, нужно смотреть насколько продукт подходит именно под ваши условия, и, в том числе, анализировать достоинства и недостатки. Я как то сказал выше, что Disco ориентирован прежде всего для работы над СУБД Oracle и от этого идут тоже и достоинства и недостатки. BO универсален и от этого у него тоже есть и плюсы и минусы. Мне кажется, что BO и Disco хоть и пересекаются, но при этом заточены немного под разные ниши. Я не сторонник бить себя пяткой в грудь и кричать что какой то продукт панацея и подходит всем. Alexander Stoulov Что значит, если связи определены между таблицами? Есть четыре таблицы фактов (фактически продажи, производственный план, внутренний план продаж, внешний план продаж). Для простоты, примем, что они опираются на одни измерения. Что такое custom folder и как он может содержать UNION. К стыду своему, я пока вообще не представляю, что такле DISCO. Во что это трансформируется для сервера БД? Custom folder это возможность создать в репозитории Disco как бы VIEW, которое однако же будет связано со всеми другими таблицами, так как будто это настоящая таблица Oracle. То есть Disco будет генерить SQL, на основе этого View и связанных с ним других таблиц или views. То есть, если мы внутри этого фолдера поместим SQL выражение с View, объединяющим наши три таблицы, а потом укажем, что у него есть связи с другими таблицами-измерениями (Время, Номенклатура и т.д.) То пользователь сможет строить по такому запросу свои отчеты. Причем запрос, в принципе, может тягать данные и с другого сервера. Disco будет генерить соответственно запрос, содержащий подзапрос с Union. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:03 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Birkhoff Ну в этом и вопрос, объясните как это работает (ZABO) когда он может работать и какие преимущества дает? В линейку продуктов BO входит сервер WebIntelligence. Его задача организация работы пользователей в трехзвенной архитектуре. Пользователь в трехзвенной архитектуре может работать через тонкий клиент или ZABO. При работе через ZABO на пользовательскую машину при первом заходе на сервер закачивается и устанавливается полнофункциональный BO. Плюсы - вся мощь толстого BO по формированию отчетов - минимум администрирования клиентских машин - возможность аудита работы пользователей По сравнению с двухзвенной архитектурой работа через ZABO производительности не добавляет - вся обработка все равно идет на сервере БД и клиенте BO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:12 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Alexander Stoulov Birkhoff Ну в этом и вопрос, объясните как это работает (ZABO) когда он может работать и какие преимущества дает? В линейку продуктов BO входит сервер WebIntelligence. Его задача организация работы пользователей в трехзвенной архитектуре. Пользователь в трехзвенной архитектуре может работать через тонкий клиент или ZABO. При работе через ZABO на пользовательскую машину при первом заходе на сервер закачивается и устанавливается полнофункциональный BO. Плюсы - вся мощь толстого BO по формированию отчетов - минимум администрирования клиентских машин - возможность аудита работы пользователей По сравнению с двухзвенной архитектурой работа через ZABO производительности не добавляет - вся обработка все равно идет на сервере БД и клиенте BO Спасибо! То есть, если мы работаем через тонкий клиент, то вся нагрузка ложится на webIntelligence? А если через ZABO, то это просто легкий способ установки клиента BO на машины пользователей. В остальном это тоже самое, как если бы поставили с диска каждому клиенту персонально, только с трассировкой действий пользователей на сервере? Кстати, а что будет интересного в BO XI? Кроме того, что он будет на Java и от этого у него будут бОльшие требования к ресурсам клиентов и серверов? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:22 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
BirkhoffКстати, а что будет интересного в BO XI? Кроме того, что он будет на Java и от этого у него будут бОльшие требования к ресурсам клиентов и серверов? :) BusinessObjects Enterprise XI - это фактически новая платформа на основе Crystal Enterprise, реализованная как набор web-служб, поддерживающих web-сервера и сервера приложений J2EE или .NET плюс Web Intelligence для доступа к данным и создания отчетов плюс Designer для создания семантики и плюс OLAP Intelligence (бывший Crystal Analysis) для доступа к данным OLAP-источников и создания отчетов. Данная версия предназначена для миграции бывших заказчиков Crystal и является промежуточной при переходе к BO 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 12:37 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
В OES 6.3.4 была убрана галачака автоматической иерархии при подключениии данных в измерения из РБД, сей час там добавили отношение parent как он работает? При запуске автоматически создаваемой программы загрузки — ругается не потребными словами, чего ему нать? Может чего в программе дописать нать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 11:49 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
авторBusinessObjects Enterprise XI - это фактически новая платформа на основе Crystal Enterprise, реализованная как набор web-служб, поддерживающих web-сервера и сервера приложений J2EE или .NET плюс Web Intelligence для доступа к данным и создания отчетов плюс Designer для создания семантики и плюс OLAP Intelligence (бывший Crystal Analysis) для доступа к данным OLAP-источников и создания отчетов. Данная версия предназначена для миграции бывших заказчиков Crystal и является промежуточной при переходе к BO 12. Можно поинтересоваться, для чего это делается - перетащить пользователей Crystal на платформу BO ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 15:58 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Zohar Можно поинтересоваться, для чего это делается - перетащить пользователей Crystal на платформу BO ??? Нет, просто сейчас уже не существует отдельных линеек продуктов. Существует одна, в которой есть BusinessObjects Crystal Reports, Web Intelligence, OLAP Intelligence (бывший Crystal Analysis) и единая BI-платформа, реализованная на основе бывшего Crystal Enterprise. В 12 версии к ним добавится толстый клиент BusinessObjects (которого нет в XI). Поэтому тем, кто сейчас пользуется Crystal Reports предлагается BusinessObjects XI в качестве BI-платформы (администрирование, дистрибуция документов и т.п.), на которую они могут перейти с Crystal Enterprise предыдущих версий. Плюс к этому они могут использовать дополнительный функционал ad hoc query&reporting, который реализован в WebIntelligence, и которого не было у пользователей Crystal Reports. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 18:26 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Alexander Stoulov[quot Birkhoff] По второй группе могу навскидку привести три примера, чего нельзя сделать в BO визуальными средствами: - указать хинты - использовать кострукцию в условии (col1, col2, col3) in ... - использовать конструкцию select ... from (select ... ) . Вот это да! То есть я не могу при помощи BO определить, на сколько продали в этом месяце 5 топовых в прошлом месяце товаров. Так, что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2005, 15:19 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Почему не можете, может через подзапрос. Но подзапрос это не конструкция select ... from (select ... from ...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2005, 17:44 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Alexander StoulovПочему не можете, может через подзапрос. Но подзапрос это не конструкция select ... from (select ... from ...) Да, я ошибся. Для решения моей задачи нужен запрос типа select * from * where item in (select ... where id_month=предыдущий месяц) where ... Я думаю, что такого BO не умеет. Я не ошибся? И вопрос. Можно привести пример задачки, где нужна такая конструкция: select ... from (select ... from ...)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 11:50 |
|
||
|
ORACLE и BO
|
|||
|---|---|---|---|
|
#18+
Конструкция select from (select from) называется derived table. Можно использовать, например, чтобы избавиться от кореллированных подзапросов. На кореллированный подзапрос пример надо приводить? На всякий случай приведу - для каждого дня показать средние продажи за последние 10 дней. Можно написать запрос с кореллированным подзапросом, можно derived table использовать. Последнее будет намного эффективнее (в общем случае, если только, у Вашей СУБД не настолько мощный оптимизатор, чтобы смочь переписать кореллированный подзапрос). Ещё, можно пользоваться такой конструкцией везде (точнее, не совсем, в силу определённых ограничений), где используются временные таблицы, поскольку derived table - не что иное, как временная таблица, локальная к запросу, в теле которого она создаётся. Ну, в общем, надеюсь, объяснил. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 13:34 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=32867712&tid=1871843]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 413ms |

| 0 / 0 |
