Текущее время: Пн, июл 28 2025, 19:29

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Работа SAP с БД ...
СообщениеДобавлено: Пн, мар 31 2008, 11:01 
Начинающий
Начинающий

Зарегистрирован:
Пн, мар 31 2008, 10:49
Сообщения: 8
Добрый день.

У нас SAP работает с БД DB2.
Возник вопрос следующего плана :
На семинаре представитель SAP сказал, что при выборке данных из БД, какой бы Вы не написали запрос (select f1, f1, f3 from table1 where f1 = "1" - грубо говоря), application server SAP все равно посылает БД запрос вида (select * from table1), т.е. все наши условия игнорируются. Стратегия SAP такова, что не следует нагружать сервер БД, лучше пригрузить сервер приложений. И что не важно какой запрос Вы напишете, сервер приложений получает полный набор данных с сервера БД во временную таблицу и только после этого отбирает только те данные, которые Вам нужны. Правда ли все это ? Потому как у меня очень большие сомнения по поводу всего этого.
И еще когда задали вопрос по поводу хранимых процедур, ответ был следующим - SAP не умее работать с хранимыми процедумари.

Пожалуйста, помогите разобраться.

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 11:03 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
интересно, если в таблицы миллионы записей, всеравно все выгребет?

не верю


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 11:11 
Начинающий
Начинающий

Зарегистрирован:
Пн, мар 31 2008, 10:49
Сообщения: 8
в том-то и дело что я тоже не верю в этот бред.
У нас прос огромные БД, работает все достаточно медленно, представитель объясняет такую работу именно так.

Возможно application server должет настраеваться соответствующим образом ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 11:23 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Пн, сен 06 2004, 11:43
Сообщения: 1551
Пол: Мужской
А может SQL трассировку лучше посмотреть. На сколько я помню на курсах по производительности ABAP как раз и пытаются "вдолбить" чтоб использовали именно список полей. Что мимизировали вложенные в селекты операции и т.д. и т.п.

_________________
Ex ipso fonte bibere
Цитата:
Abyssus abyssum invocat
Dies diem docet
Ducunt volentem fata, nolentem trahunt

Estote prudentes sicut serpentes


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 11:29 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 21 2006, 17:16
Сообщения: 134
Откуда: Донецк
Пол: Женский
Если много самописных отчетов, то вот здесь по оптимизации почитайте:
http://www.sapbasis.ru/articles/abapperfrules/

Посмотрите, может индексы какие досоздать надо?
В se30 посмотрите советы по SQL Interface.

_________________
Если хочешь иметь то, чего никогда не имел - то должен делать то, чего никогда не делал.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 11:34 
Начинающий
Начинающий

Зарегистрирован:
Пн, мар 31 2008, 10:49
Сообщения: 8
vvvictor написал:
А может SQL трассировку лучше посмотреть. На сколько я помню на курсах по производительности ABAP как раз и пытаются "вдолбить" чтоб использовали именно список полей. Что мимизировали вложенные в селекты операции и т.д. и т.п.


Т.е. если я Вас правильно понял, то SAP ни коем образом не "обрезает" наш запрос и посылает его серверу БД в том виде, в котором его написали, включая условия выборки и , следовательно, получает от сервера БД уже нужный нам набор данных ?

А как насчет хранимых процедур ? SAP все таки "умеет" с ними работать ?

Да, еще и по поводу индексов этот товарищь сказал, что НЕВОЗМОЖНО работать более чем с одним индексом .. .

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 11:38 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 07:27
Сообщения: 321
Откуда: Где-то на севере
Пол: Мужской
Я тоже всегда искренне считал, что указание конкретных полей оптимизирует скорость выбоки и вроде как это подтверждалось на практике.
Программист в шоке ;-)

_________________
I have a dream


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 11:39 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Пн, сен 06 2004, 11:43
Сообщения: 1551
Пол: Мужской
ZMaximI написал(а):
Т.е. если я Вас правильно понял, то SAP ни коем образом не "обрезает" наш запрос и посылает его серверу БД в том виде, в котором его написали, включая условия выборки ?

А как насчет хранимых процедур ? SAP все таки "умеет" с ними работать ?

Спасибо.
Да - на сколько я помню - SAP просто переводит запрос из синтаксиса OpenSQL к синтаксису конкретной СУБД
Процедуры тоже умеет. Копай в сторону Native SQL. И тут ф форуме, кажется, даже примеры были.............

_________________
Ex ipso fonte bibere
Цитата:
Abyssus abyssum invocat
Dies diem docet
Ducunt volentem fata, nolentem trahunt

Estote prudentes sicut serpentes


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 11:45 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Пн, сен 06 2004, 11:43
Сообщения: 1551
Пол: Мужской
ZMaximI написал(а):
Да, еще и по поводу индексов этот товарищь сказал, что НЕВОЗМОЖНО работать более чем с одним индексом .. .
Что понимать под невозможностью ?
Я не помню кто конкретно принимает решение, кажется все-таки SAP, а не СУБД. При выполнении запроса дается указание об использовании максимально подходящего к условиям where индекса (т.е. из тех, которые созданы).

_________________
Ex ipso fonte bibere
Цитата:
Abyssus abyssum invocat
Dies diem docet
Ducunt volentem fata, nolentem trahunt

Estote prudentes sicut serpentes


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 11:57 
Начинающий
Начинающий

Зарегистрирован:
Пн, мар 31 2008, 10:49
Сообщения: 8
vvvictor написал:
Что понимать под невозможностью ?
Я не помню кто конкретно принимает решение, кажется все-таки SAP, а не СУБД. При выполнении запроса дается указание об использовании максимально подходящего к условиям where индекса (т.е. из тех, которые созданы).


Если често - я не знаю как это понимать ... :)
Просто специалист сказал, что САП создает временную таблицу с ПОЛНЫМ набором данный и может работать только с одним индексом, хоть он и может быть составным .... .

Я вообще занимаюсь разработкой на JAVA, но вскоре нужно будет заниматься САП, и когда я все это услышал - стало просто дико как-то.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 12:01 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
ZMaximI написал(а):
Если често - я не знаю как это понимать ... :)
Просто специалист сказал, что САП создает временную таблицу с ПОЛНЫМ набором данный и может работать только с одним индексом, хоть он и может быть составным .... .


Может Вы не уловили в каком контексте он это говорил? Возможно это было связано в JOIN или агрегатными функциями и GOUP BY?

_________________
С уважением, VGA
Мой блог


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 12:08 
Начинающий
Начинающий

Зарегистрирован:
Пн, мар 31 2008, 10:49
Сообщения: 8
vga написал(а):
Может Вы не уловили в каком контексте он это говорил? Возможно это было связано в JOIN или агрегатными функциями и GOUP BY?


Нет, в том-то и дело, что об этом речи <я не знать русский языка>.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 12:14 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
ZMaximI написал(а):
vga написал(а):
Может Вы не уловили в каком контексте он это говорил? Возможно это было связано в JOIN или агрегатными функциями и GOUP BY?


Нет, в том-то и дело, что об этом речи <я не знать русский языка>.

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


Чтобы запрос использовал индекс максимально эффективно, в условии where должны присутствовать поля из индекса в соотвествующей последовательности.

_________________
С уважением, VGA
Мой блог


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 12:20 
Начинающий
Начинающий

Зарегистрирован:
Пн, мар 31 2008, 10:49
Сообщения: 8
Вот-вот - что и требовалось доказать.

Спасибо всем большое - пролили свет на наш спор.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 31 2008, 12:20 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Пн, сен 06 2004, 11:43
Сообщения: 1551
Пол: Мужской
ZMaximI написал(а):
Из всего вышесказанного я так понял, что для того чтобы запрос отработал должным образом, нужно чтобы в его условии было прописаны поля для которых созданы индексы. Правильно ?
И в том же порядке, похоже............... Причем оценка выбора индекса идет именно по полям с условием '='..............

_________________
Ex ipso fonte bibere
Цитата:
Abyssus abyssum invocat
Dies diem docet
Ducunt volentem fata, nolentem trahunt

Estote prudentes sicut serpentes


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

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


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

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


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

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