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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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