|
Apex: доступ к нескольким бд
|
|||
---|---|---|---|
#18+
Есть бд Oracle 10g Release 10.2....(1) На тот же сервер(либо на другой) ставится OracleXE (2) вместе с апексом, В (1) находится таблица table В (2) сделал мат представление tablev типа select * from table@(1) В апексе создаю репорт на основе tablev. Отчет получается очень тормознутый, долго грузятся страницы отчета, ... Хотя выборка из tablev мгновенна... Выходит если использовать данные из нескольких бд получается практически непригодный отчет. Может можно отключить обновление каждой из страниц отчета? Какие есть варианты решения проблемы? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 15:26 |
|
Apex: доступ к нескольким бд
|
|||
---|---|---|---|
#18+
Схема вполне работоспособная на практике. Принципиальной ошибки нигде нет. Нужно смотреть конкретную вашу реализацию. Для вывода отчета постранично apex обернет ваш запрос в подзапрос, а он то и может тормозить... Индексы, трассировка, планы... Таблица большая? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 23:24 |
|
Apex: доступ к нескольким бд
|
|||
---|---|---|---|
#18+
Да нет, не большая, в table записей 100, на каждой странице отчета по 20 записей, выборку из таблицы делаю полную ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 08:05 |
|
Apex: доступ к нескольким бд
|
|||
---|---|---|---|
#18+
И вообще складывается ощущение, что Apex-у пофигу сколька записей в таблице, если есть запрос к другой бд, он начинает тормозить... Есть конечно вариант сделать мат предст, кот будет постоянно обновляться, но не очень то хотелось бы так извращаться - тем более OracleXE - на котором Apex крутится урезан до 4Gb ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 11:25 |
|
Apex: доступ к нескольким бд
|
|||
---|---|---|---|
#18+
Я думал вы и сделали мат представление :) Саашка В (2) сделал мат представление tablev Если на самом деле интересно почему тормозит, то изучайте трассировку на предмет ожиданий. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 21:43 |
|
Apex: доступ к нескольким бд
|
|||
---|---|---|---|
#18+
Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2009, 08:11 |
|
Apex: доступ к нескольким бд
|
|||
---|---|---|---|
#18+
Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2009, 08:13 |
|
Apex: доступ к нескольким бд
|
|||
---|---|---|---|
#18+
это к Apex отношения не имеет. Просто берете запрос который у вас есть в апекс, запускаете sqlplus, включаете трассировку, выполняете, анализируете трэйсы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2009, 09:56 |
|
Apex: доступ к нескольким бд
|
|||
---|---|---|---|
#18+
Ales Protivэто к Apex отношения не имеет. Просто берете запрос который у вас есть в апекс, запускаете sqlplus, включаете трассировку, выполняете, анализируете трэйсы. Ааа, ясно, Просто чисто визуально, скорость извлечения из представления основанного на табл из др бд и аналогичной таблице в самой бд - одинакова, а листание страниц в апехе идет на десятки секунд(сам запрос выполняется менее сек). Вот если не день вы сами попробуйте построить отчет на данных из др базы, пусть даже база на этом же сервере... Может быть это заведомо заложено компанией Oracle в Apex OracleXE - бесплатна ведь, но урезана до 4 Gb пользовательских данных... Получается мне не нужно покупать дополнительную "центральную" базу связывающую переферийные, а достаточно установить OracleXE и обращаться к переферийным таблицам без проблем, но не тут то было ... Хотя фиг знат... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2009, 11:47 |
|
Apex: доступ к нескольким бд
|
|||
---|---|---|---|
#18+
Нет, заведомо это не заложено. У меня под рукой нет на чем попробовать. Но есть следующие соображения: апекс использует пул соединений, то есть физически существует несколько открытых сессий в базе, которые обрабатывают запросы от апекс-приложений. Когда идет обращение к удаленной базе (по db-линку) то уходит время на соединение с этой базой. Коннект к базе - операция достаточно дорогостоящая в плане ресурсов. Отсюда могут быть тормоза. Но они по идее должны исчезнуть при постоянной работе, когда для всех сессий линки будут уже открыты. Но 100% дать не могу - тут нужно поизучать систему и документацию по дб-линкам. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2009, 00:31 |
|
Apex: доступ к нескольким бд
|
|||
---|---|---|---|
#18+
То есть, например, запустили отчет - - произошло соединение, выполнился запрос - получили первую страницу - переходим на др страницу - снова соединение снова запрос и тд... По идее Апексу ведь все равно должно быть откуда данные - его дело отформатировать страницу и выдать... и если выборка данных(в т ч и соединение) в Sql/Plus идет быстро то и в Apex должно быть примерно так же... Кстати в Run/Sql(Apex) при выполнении запроса из др базы тоже тормоза начинаются... ...Будем искать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2009, 08:24 |
|
|
start [/forum/topic.php?fid=50&fpage=93&tid=1877429]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
25ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 141ms |
0 / 0 |