Текущее время: Пт, июл 18 2025, 14:51

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Оптимизация, построение плана
СообщениеДобавлено: Чт, апр 21 2005, 10:29 
Гость
Уважаемые коллеги!

Подскажите пожалуйста синтаксис %_HINTS ORACLE для запросов к нескольким таблицам.

Проблема следующая, есть например запрос:

select LK~LGNUM LK~TANUM
from LTAK as LK inner join LTAP as LP
on LP~LGNUM = LK~LGNUM and
LP~TANUM = LK~TANUM
into (L_LGNUM, L_TANUM)
where LK~VBELN = I_VBELN and
LK~KQUIT = '' and
LP~VLTYP = I_VLTYP and
LP~PQUIT = ''
group by LK~LGNUM LK~TANUM.
.
.
.
endselect.

ORACLE не оптимально подхватывает индексы.
Нужно четкое указание плана, чтобы индексы работали например в последовательности:
"LTAK~LK1", "LTAP~LP1"

Переписывать запрос и реализовать логику через циклы и пр. не очень хочется, с использованием:
%_HINTS ORACLE 'INDEX("LTAK" "LTAK~LK1")',
%_HINTS ORACLE 'INDEX("LTAK" "LTAP~LP1")'.

Подскажите, пожалуйста синтаксис %_HINTS ORACLE к нескольким таблицам.

С уважением, Сергей.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения: Надо лучше продумывать вторичные индексы
СообщениеДобавлено: Чт, май 05 2005, 08:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Надо лучше продумывать вторичные индексы, чтобы они не дублировали друг друга.
Сталкивался как то с этим. Если мне не изменяет память, при выборе схожих индексов, для САП приоритетней тот, у кого имя по алфавиту раньше. Можно поиграться с именами индексов, но может возникнуть обратная ситуация в другой разработке.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Надо лучше продумывать вторичные индексы  Тема решена
СообщениеДобавлено: Чт, май 05 2005, 15:17 
Гость
Parazit написал:
Надо лучше продумывать вторичные индексы, чтобы они не дублировали друг друга.
Сталкивался как то с этим. Если мне не изменяет память, при выборе схожих индексов, для САП приоритетней тот, у кого имя по алфавиту раньше. Можно поиграться с именами индексов, но может возникнуть обратная ситуация в другой разработке.

при чем здесь SAP? План запросов строит СУБД. И выбирается нужный индекс по принципу наименьшего веса, а уж никак не по имени


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 09:00 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Саповский индекс и индекс Oracle - не всегда одно и то же. Я когда-то смотрел таблички - по-моему, индексов там нет. Они строятся сапом и в сапе работают. А индексов на уровне субд, по-моему, нет. Может, я просто не те таблички смотрел, так что утверждать не могу. Но индексы сапа, скорее всего, совсем не то же самое, что индексы в субд, также, как и кластерные таблицы в сапе - это не кластерные таблицы Oracle...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 10:14 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, авг 27 2004, 09:10
Сообщения: 614
Откуда: Moscow
RoadRunner написал:
Саповский индекс и индекс Oracle - не всегда одно и то же. Я когда-то смотрел таблички - по-моему, индексов там нет. Они строятся сапом и в сапе работают. А индексов на уровне субд, по-моему, нет. Может, я просто не те таблички смотрел, так что утверждать не могу. Но индексы сапа, скорее всего, совсем не то же самое, что индексы в субд, также, как и кластерные таблицы в сапе - это не кластерные таблицы Oracle...

Да действительно не одно и тоже.Однако индекс имеющийся в словаре данных SAP и несозданный на уровне БД, никакого влияния на построение плана выборки оказывать не будет.Как правильно заметил AnS1, построение плана происходит именно на уровне БД.Единственное что делает SAP в данном случае, так это интерпритацию ABAP кода в SQL выражение понятное конкретной БД.Неплохие краткие материалы по оптимизации вопрошавший Spd может посмотреть тут:
http://sapbasis.ru/articles/abapperfrules/
http://sapbasis.ru/articles/opensqlhints/

Успехов
:wink:

_________________
по прозвищу Тосманский Дьявол


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 10:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
Lamer написал(а):


Сцылка супер! THNX! .. хоть лично для меня это и не особо актуально, но инфа ценная.. Причём строго по subj :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB