Текущее время: Вс, июл 27 2025, 17:31

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Оптимизация выборки из таблицы COEP
СообщениеДобавлено: Ср, мар 02 2011, 16:34 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
matik написал:
SE11 Индексы ...?

Проверяете:
а) стоит ли переключатель на пункте "Индекс всех систем БД".
Если не стоит - ставьте.
б) есть ли надпись "Индекс COEP~... существует в системе БД ..."
Если нет, то в меню "Утилиты-Утилита базы данных" нажимаете кнопку "Создать индекс БД". Лучше, если эту операцию сделают базисники ;)

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимизация выборки из таблицы COEP
СообщениеДобавлено: Ср, мар 02 2011, 18:27 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, май 11 2006, 12:07
Сообщения: 271
Откуда: Chelyabinsk
Пол: Женский
А чем отличается индекс от индекса расширения?

_________________
Абапер...
Продолжаю удивляться SAPу!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимизация выборки из таблицы COEP
СообщениеДобавлено: Ср, мар 02 2011, 18:41 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
А что такое "индекс расширения"? В SE11 есть просто "Индекс" :shock:
Anutka написала:
хелп не установлен
Весь help можно найти здесь ;)

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимизация выборки из таблицы COEP
СообщениеДобавлено: Ср, мар 02 2011, 18:55 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, май 11 2006, 12:07
Сообщения: 271
Откуда: Chelyabinsk
Пол: Женский
SE11 - просмотр таблицы - кнопка Индексы - в списке индексов кнопка создать: выпадающий список с 2-мя пунктами создать индекс и создать индекс расширения.

_________________
Абапер...
Продолжаю удивляться SAPу!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимизация выборки из таблицы COEP
СообщениеДобавлено: Чт, мар 03 2011, 13:19 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
Neo4om написал(а):
Оптимизатор нагружает суммирование и группировка, matnr ne space & megbtr <> 0 тоже дают нагрузку....Но это уже СУБД.
Вот это правильно замечено, более того, в документации сказано, что оптимизатор ОТКЛЮЧАЕТСЯ при использовании оператров, отличных от EQ, IN, AND.
1) Попробуйте выбрать записи без уловия Matnr Ne Space and MEGBTR <> 0. После выборки удалите лишние записи уже из внутренней таблицы.
2) Также, возможно, поможет избавление от GROUP BY. После выборки используйте оператор COLLECT для группировки... никакого SELECT... ENDSELECT - используйте только SELECT INTO TABLE.
3) А после этого уже и с индексами можно играться.
4) Немного ускорит процесс замена INTO CORRESPONDING TABLE на INTO TABLE .


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Оптимизация выборки из таблицы COEP
СообщениеДобавлено: Чт, мар 03 2011, 20:52 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Бородин Игорь написал(а):
Вот это правильно замечено, более того, в документации сказано, что оптимизатор ОТКЛЮЧАЕТСЯ при использовании оператров, отличных от EQ, IN, AND.

ссылкой не поделитесь?

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимизация выборки из таблицы COEP
СообщениеДобавлено: Пт, мар 04 2011, 02:36 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
ArmAnn написал:
ссылкой не поделитесь?

Я думаю ждать не стоит ;)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Оптимизация выборки из таблицы COEP
СообщениеДобавлено: Пт, мар 04 2011, 06:55 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Пономарев Артем написал:
Я думаю ждать не стоит ;)

ну мало ли... мож веяния среди оптимизаторов новые :)

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимизация выборки из таблицы COEP
СообщениеДобавлено: Вс, мар 06 2011, 18:21 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
ArmAnn написал:
Пономарев Артем написал:
Я думаю ждать не стоит ;)

ну мало ли... мож веяния среди оптимизаторов новые :)
ну может для кого и новые :wink:
А вообще, советую всем прочесть очень хорошую книжку BC - ABAP Programming( http://hghltd.yandex.net/yandbtm?fmode=inject&url=http%3A%2F%2Fhelp.sap.com%2Fprintdocu%2Fcore%2FPrint46c%2Fen%2Fdata%2Fpdf%2FBCABA%2FBCABA.pdf&text=BC%20-%20ABAP%20Programming&l10n=ru&mime=pdf&noconv=1&sign=4327f6b53fe19bfb19ca19979a5eb3f3&keyno=0).
Загляните на страницу 1111. Среди прочего, там можно увидеть следующее:
Цитата:
Use Positive Conditions
The database system only supports queries that describe the result in positive terms, for
example, EQ or LIKE. It does not support negative expressions like NE or NOT LIKE.
If possible, avoid using the NOT operator in the WHERE clause, because it is not supported by
database indexes; invert the logical expression instead.

Using OR
The optimizer usually stops working when an OR expression occurs in the condition. This means
that the columns checked using OR are not included in the index search. An exception to this are
OR expressions at the outside of conditions. You should try to reformulate conditions that apply
OR expressions to columns relevant to the index, for example, into an IN condition.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Оптимизация выборки из таблицы COEP
СообщениеДобавлено: Пн, мар 07 2011, 12:40 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Бородин Игорь написал(а):
Using OR
The optimizer usually stops working when an OR expression occurs in the condition. This means
that the columns checked using OR are not included in the index search. An exception to this are
OR expressions at the outside of conditions

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

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимизация выборки из таблицы COEP
СообщениеДобавлено: Пн, мар 07 2011, 13:56 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
ArmAnn написал:
Почитайте что пишут в документации оракла - там описывается поведение оптимизатора при условии OR и ни одного упоминания о том что он отключается
В той документации, что Вы привели, в пунктах:
Цитата:
Example 2-37 Transforming an OR Query into a Compound Query
Example 2-38 Query Containing OR That Is Not Transformed
Example 2-39 Compound Query Containing OR That Is Transformed

показано, что, при использовании OR, исходный запрос трансформируется в несколько результирующих запросов, из которых, один или несколько, как правило, используют фулскан. Отсюда мораль: если можно обойтись без OR - обходитесь.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Оптимизация выборки из таблицы COEP
СообщениеДобавлено: Пн, мар 07 2011, 17:43 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Бородин Игорь написал(а):
В той документации, что Вы привели, в пунктах:
Цитата:
Example 2-37 Transforming an OR Query into a Compound Query
Example 2-38 Query Containing OR That Is Not Transformed
Example 2-39 Compound Query Containing OR That Is Transformed

показано, что, при использовании OR, исходный запрос трансформируется в несколько результирующих запросов, из которых, один или несколько, как правило, используют фулскан.

Насчет 'как правило' - это вы погорячились, тут уж все зависит от условий, индексов, статистики и тд. И запрос трансформируется не всегда, а только тогда, когда это обойдется дешевле

Бородин Игорь написал(а):
Отсюда мораль: если можно обойтись без OR - обходитесь.

А с этим я и не спорил :)

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2

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


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

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


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

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