Текущее время: Вс, июн 22 2025, 18:33

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


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


ВНИМАНИЕ! Прежде чем задавать вопрос, ознакомьтесь со ссылками ниже:

Вопросы по отличиям версий SAP, Add-On, EHP - сюда
Вопросы по SAP Front End (SAPlogon, SAPgui, guiXT и т.д.) - сюда
Вопросы по LSMW - сюда
Вопросы по архивации в SAP - сюда
Вопросы по SAP GRC - сюда
Вопросы по SAP Business Workplace (почте SAP) и SAP Office - сюда
Вопросы по miniSAP (SAP mini basis) - сюда
Вопросы по SAP HANA - сюда
Вопросы по лицензированию продуктов SAP - сюда



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Работа с индексами
СообщениеДобавлено: Пт, янв 13 2006, 16:27 
Гость
Есть ключ к таблице на уровне словаря. Есть соответствующий ему индекс в Oracle. При обращении к таблице идет последовательное считывание и очень долго, т.е. скорее всего выборка идет не по индексу. Похоже что нет связи индекса R/3 и индекса Oracle (были сбои в системе). Как узнать наличие этой связи и что можно сделать вообще?


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 13 2006, 16:35 
Директор
Директор

Зарегистрирован:
Сб, авг 21 2004, 14:24
Сообщения: 1430
нет такого понятия индекс R/3 - и тем более связей. Оптимизатор Оракла выбирает по неким правилам - по какой схеме работать - использовать или не использовать тот или иной индекс. - Смотрите план выполнения. Смотрите правила оптимизатора. Смотрите сам запрос и стоимостную оценку индекса:) Много условий.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 13 2006, 16:42 
Гость
:D Неправильно выразился "индекс R/3",
Уже другой вопрос: есть такой случай (по вторичному индексу уже), что в словаре видим индекс а соответствующего ему в Oracle нет, опять таки после сбоя.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 13 2006, 16:51 
Директор
Директор

Зарегистрирован:
Сб, авг 21 2004, 14:24
Сообщения: 1430
Возможно он никогда и не создавался? По крайней мере мне ОЧЕНЬ сложно представить такой сбой Оракла при котором терялись индексы физически.

Создайте индекс - если честно я не очень понимаю - в чем проблема? Что план выполнения, выбранный Ораклом не соответствует ожидаемому Вами? Тогда анализируйте запрос прежде всего.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 13 2006, 17:06 
Президент
Президент

Зарегистрирован:
Вт, авг 17 2004, 08:17
Сообщения: 3150
Откуда: В ВЕЧНОМ БАНЕ
Corleone написал(а):
:D Неправильно выразился "индекс R/3",
Уже другой вопрос: есть такой случай (по вторичному индексу уже), что в словаре видим индекс а соответствующего ему в Oracle нет, опять таки после сбоя.

Создать через se14


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:   Тема решена
СообщениеДобавлено: Пт, янв 13 2006, 17:42 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, сен 10 2004, 09:58
Сообщения: 252
И, конечно, не стоит забывать регулярно запускать проверку статистики.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: !!! Работа с индексами
СообщениеДобавлено: Пт, янв 13 2006, 19:07 
Гость
Corleone написал(а):
Есть ключ к таблице на уровне словаря. Есть соответствующий ему индекс в Oracle. При обращении к таблице идет последовательное считывание и очень долго, т.е. скорее всего выборка идет не по индексу. Похоже что нет связи индекса R/3 и индекса Oracle (были сбои в системе). Как узнать наличие этой связи и что можно сделать вообще?

А почему Вы дали такой диагноз? Посмотрите какой выполняется SELECT в транзакции ST04 - вполне возможно что в программе запускается выборка, не попадающая в существующие индексы.

Тут можно посоветовать следующее:
1. проверьте программу, которая вполняет SELECT, если это самопис - тогда или переписывать программу, или создавать индекс под нее и т.д.
2. если стандартная программа, тогда делать анализ настроек, приведших к такой выборке и как вариант - или править настройки, или создавать новый индекс, попадающий под условия выборки и т.д.

Лирическое замечание ...
Я встречал массу перлов ABAP-еров и консультантов, которые могут катострофически снизить производительность работы диалога, отчета, программы обновления и вообще всего-чего-только-можно:
1. однажды ABAP-ер создал "шедевр" такого вида:
Code:
SELECT * FROM TABLE1.
IF TABLE1-FIELD1 <> 'X'.
SELECT * FROM TABLE2.
   IF TABLE2-FIELD1<>'Y'.
     IF TABLE1-FIELD2<>'Z'.
     ABC = ABC + TABLE2-ABC .
     ENDIF.
   ENDIF.
ENDSELECT.
ENDIF.
ENDSELECT.

Это при том что в каждой из таблиц (TABLE1 и TABLE2) было по 5 млн записей.
Отчет с такой конструкцией работал 24 часа. Пока не вырвали руки абаперу и не переписали кусок. После правки на форму SELECT ... WHERE отчет стал работать 20 мин. А после переделки на форму SELECT ... FROM VIEW_TAB1_TAB2 стал работать 5 мин.

2. Однажды ОЧЕНЬ умный консультант по логистике при обновлении заказа на материал в программу обновления заказов вставил свой модуль с конструкцией типа:
Code:
SELECT * FROM MSEG WHERE .....
SELECT * FROM MKPF WHERE ...
.....
ENDSELECT .
ENDSELECT.

При том что в системе работало с MM порядка 200 пользователей - они просто вешались при создании заказа. Работала система со всеми тюнингами 1 заказ в 30 мин ... Потом мы полезли по системе... Руки оторвали консультанту.

User-Exit сущее зло :)


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, янв 14 2006, 01:01 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, сен 22 2004, 08:42
Сообщения: 1079
Откуда: Москва
Пол: Мужской
По поводу лирических замечаниий N2:
К сожалению зачастую умение быстро писать программы ценится больше чем умение писать быстроработающие программы.
Если я не прав скажите как часто вам приходилось видеть просьбы поделиться курсом BC490?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 16 2006, 14:23 
Гость
Mike1 написал:
К сожалению зачастую умение быстро писать программы ценится больше чем умение писать быстроработающие программы.


Вы к сожалению правы.


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

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


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

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


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

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