Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 респределенные запросы  [new]
valik_tut
Guest
CREATE MATERIALIZED VIEW VVM_DATA
AS
WITH 
A
AS
(SELECT /*+ MATERIALIZE */  PP_L.CODE AS PP_LCODE,
                            RS.CODE AS RSCODE
          FROM MTZ_ADM.BUSINESS_OBJECTS_TODAY@OMP A1
               JOIN MTZ_ADM.BUSINESSOBJ_STATES@OMP A2            ON (A1.STATE = A2.CODE)
               JOIN MTZ_ADM.PRODPLAN_LIST@OMP PP_L               ON (PP_L.CODE = A1.DOCCODE)
               JOIN MTZ_ADM.REPORT_SAVES@OMP RS                  ON (PP_L.CODE = RS.PLANCODE)
          WHERE 
                TO_NUMBER(TO_CHAR(PP_L.STARTDATE, 'yyyy')) IN (2013, 2012)
                AND A1.TYPE = 126 --126 === (select CODE  from MTZ_ADM.BUSINESSOBJ_TYPES A3 where A3.NAME = 'План производства')
                AND A1.NAME LIKE 'План производства на%'
                AND RS.SUBTYPE = 2
                AND A2.PROMLEVEL!=3
                AND A2.SHORTNAME!='Прораб'),

SELECT A.PP_LCODE, 
       A.RSCODE, 
      
  FROM A
  JOIN MTZ_ADM.REPORT_ITEM_SAVE@OMP RIS             ON (A.RSCODE = RIS.SAVECODE)
  JOIN MTZ_ADM.PRODPLAN_ITEM@OMP PP_I               ON (RIS.ITEMCODE = PP_I.CODE) 

Как сделать, чтобы запрос А материализовался на удалённом сервере?
19 фев 13, 10:07    [13946727]     Ответить | Цитировать Сообщить модератору
 Re: респределенные запросы  [new]
valik_tut
Member

Откуда:
Сообщений: 3
ну или возможно ли отправить хинт оптимизатору удалённого сервера?
19 фев 13, 11:23    [13947256]     Ответить | Цитировать Сообщить модератору
 Re: респределенные запросы  [new]
Добрый Э - Эх
Guest
запрос с использованием дб-линка выполняется на одной из "сторон". Вынудить оптимизатор выбрать ту или иную стороны для выполнения запрос можно хинтом /*+ driving_site*/. Послушается ли оптимизатор хинта - уже отдельный вопрос.
19 фев 13, 11:44    [13947418]     Ответить | Цитировать Сообщить модератору
 Re: респределенные запросы  [new]
valik_tut
Member

Откуда:
Сообщений: 3
Добрый Э - Эх, как я понимаю при указании хинта materialize результат запроса материализуется на том сервере, на котором будет данный хинт обработан, так вот мне надо чтобы результаты были материализованы на удалённом сервере
19 фев 13, 12:01    [13947556]     Ответить | Цитировать Сообщить модератору
 Re: респределенные запросы  [new]
Добрый Э - Эх
Guest
valik_tut,

Ну так пробуй. :)
Единственное, что нужно помнить - линкованный запрос полностью выполняется на одной стороне. Поэтому все данные для его выполнения вначале уйдут на удаленную базу, там выполнится запрос и итоговая выборка вернется к тебе на локальный сервер.
19 фев 13, 12:07    [13947620]     Ответить | Цитировать Сообщить модератору
 Re: респределенные запросы  [new]
Добрый Э - Эх
Guest
А вообще, непонятно зачем создавать вью на своей стороне, если все участвующие в её построение таблицы - на удаленном сервере? Может и вью там создавать, а с локального сервака уже к ней и обращаться?
19 фев 13, 12:10    [13947640]     Ответить | Цитировать Сообщить модератору
 Re: респределенные запросы  [new]
valik_tut
Member

Откуда:
Сообщений: 3
Добрый Э - Эх, права только на чтение. Таблицы очень большие (20-70млн), при выборке не через линк, а напрямую запрос обрабатывается минут 20-25, а когда пытаюсь создать вью на другом сервере, запрос выполняется неопределенно долго изза того что материализация происходит на стороне данного сервера, в плане выполнения join между материализованной на одной стороне view и таблицей на другой, изза чего и виснет.
19 фев 13, 12:23    [13947720]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить