17 августа, четверг 09:06
Bankir.Ru

Объявление

Свернуть
Пока нет объявлений.

Больше хинтов! Хороших и разных !!! (Модуль Credit/oracle)

Свернуть
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • Больше хинтов! Хороших и разных !!! (Модуль Credit/oracle)

    Злоупотребление хинтами в Кворуме меня всегда настораживало.
    Однако сегодня столкнулся с вопиющим фактом ...

    При откате истории изменеия кредитной линии замечен факт "зависания" модуля. Этот баг описан в 80_500.030\CREDIT\credit.rme.
    Однако предлогаемая методика исправления не приносит результа.

    После некоторых исследований выяснилось, что модуль не зависает, а очень долго ждет выполнения запроса

    DELETE /*+ index_asc(Kvitan InOperSt)*/
    Kvitan
    WHERE OutOperation = Common.CrAgHistOperation AND OutOperNum = iOpNum;

    Виной всему хинт /*+ index_asc(Kvitan InOperSt)*/
    После его удаления операция выполняется мгновенно !

  • #2
    RedPank Так это уже вроде давно исправлено. Правда не удаление хинта, а изменение...

    Комментарий


    • #3
      sprut какое изменение ???

      Комментарий


      • #4
        А зачем было в этом запросе вообще хинт ставить? ORACLE достаточно умен, что-бы сообразить что по какому индксу искать !!!

        Для справки: Индекс таблицы KVITAN OutOperSt состоит из трех полей:
        OutOperation
        OutOperNum
        Outstatus

        Добавление хинта ( /*+ index_asc(Kvitan OutOperSt)*/) ничего нового в план запроса не вносит. И не может внести. Как был "NON-UNIQUE INDEX RANGE SCAN ...", так он и останется. А если это не так - попробуйте удалить или обновить статистику на серваке.

        Комментарий

        Пользователи, просматривающие эту тему

        Свернуть

        Присутствует 1. Участников: 0, гостей: 1.

        Обработка...
        X