CftClub.ru
Клуб специалистов ЦФТ-Банк

Очень медленно загружается представление ...
На страницу Пред.  1, 2
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеСр Мар 19, 2014 14:27    Ответить с цитатой
Полезность: Нет оценки
Sant пишет:
Random пишет:

Видимо, для того, чтобы не создавался foreign key и не мешался. Возможно, в этом поле не только числовые идентификаторы хранятся.
Мало ли для чего разработчик задумал это поле.
Что вас смущает, я не пойму?

Думаю нашу проблему бы решил простой добавлении индекса, но меня не понятно почему разработчики не добавили индекс в ранних версиях, в потом добавили скорее все это их ошибка.


Про то, что индекса у вас нет, я не подумал - в это время вы ещё план не показали.

То, что время не изменилось после изменения условия - это потому, что был более глобальный тормоз. Попробуйте поиграть с представлением после того, как поставите индекс.

Что касается ошибки разработчиков - для вас 5-летней давности индекс - это поздняя версия? Вы мне делаете смешно. Я не уверен, что вина в том, что у вас нет 5-летней давности индекса, лежит на разработчиках.
Sant
Участник со стажем


Вступление в Клуб: 19.08.2013
СообщениеСр Мар 19, 2014 15:06    Ответить с цитатой
Полезность: Нет оценки
Random пишет:

То, что время не изменилось после изменения условия - это потому, что был более глобальный тормоз. Попробуйте поиграть с представлением после того, как поставите индекс.


Random, спасибо за прояснения.
devor
Профи


Вступление в Клуб: 13.02.2012
СообщениеЧт Мар 20, 2014 04:53    Ответить с цитатой
Полезность: Нет оценки
Sant пишет:

Random пишет:

План, конечно, безобразный. Как сказал Alexsey, нужен индекс по полю C_PROD_FOLD.
Есть дистрибутивный индекс IDX FOLDER_PAY IDX_Z#FOLDER_PAY_PROD, заведён с версии 8.7. Если у вас в метаданных он есть, а на схеме нет, обратитесь к вашим ДБА, а если нет и в метаданных, то к службе поддержки ЦФТ.

Нет, в метаданных не нашли, попробуем написать в службу поддержки ЦФТ.


Думаю, на этом обсуждение можно закрывать. Там очевидно должен быть индекс. Возможно, по какой-то причине он у вас выпал при накате патча.
Sant
Участник со стажем


Вступление в Клуб: 19.08.2013
СообщениеПт Мар 28, 2014 15:10    Ответить с цитатой
Полезность: Нет оценки
Спасибо всем за участия.
После создания индекса проблема исправилась.
Код:

select * from  IBS.Z#FOLDER_PAY
create index IBS.Z#IX_Z#FOLDER_PAY_COL6 on IBS.Z#FOLDER_PAY (C_PROD_FOLD)
  tablespace I_USR
  pctfree 20
  initrans 11
  maxtrans 255
  storage
  (
    initial 128K
    next 128K
    minextents 1
    maxextents unlimited
  );


Код:

SQL> explain plan for
  2 
  2  select (select case
  3                       when count(1) > 0 then
  4                        '***'
  5                       else
  6                        '...'
  7                     end
  8                from ibs.z#folder_pay fp
  9               where fp.c_prod_fold = to_char(a1_1.id)
 10                and rownum < 2) papka,a1_1.*
 11       from ibs.z#pr_cred a1_1;
Explained

SQL> select * from table(DBMS_XPLAN.DISPLAY);
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3164875981
--------------------------------------------------------------------------------
| Id  | Operation          | Name                   | Rows  | Bytes | Cost (%CPU
--------------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |                        | 68481 |    19M|   899   (2
|   1 |  SORT AGGREGATE    |                        |     1 |     9 |
|*  2 |   COUNT STOPKEY    |                        |       |       |
|*  3 |    INDEX RANGE SCAN| Z#IX_Z#FOLDER_PAY_COL6 |     8 |    72 |     1   (0
|   4 |  TABLE ACCESS FULL | Z#PR_CRED              | 68481 |    19M|   899   (2
--------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
   2 - filter(ROWNUM<2)
   3 - access("FP"."C_PROD_FOLD"=TO_CHAR(:B1))
17 rows selected
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
На страницу Пред.  1, 2
Страница 2 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru