Текущее время: Пн, июн 30 2025, 21:43

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Мысли по оптимизации
СообщениеДобавлено: Ср, фев 01 2006, 14:58 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 15 2005, 11:00
Сообщения: 288
Смысл такой: в отчет нужно вывести данные по кварталам. Что будет быстрее: 4 select с ограничениями по каждому кварталу- into itab
или
1 select - а в нем анализ даты и раcпихивать по таблицам в самом select'e?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: c
СообщениеДобавлено: Ср, фев 01 2006, 15:03 
Директор
Директор

Зарегистрирован:
Чт, авг 18 2005, 17:00
Сообщения: 1174
Откуда: РФ
Юзай se30

_________________
Покупайте отечественную продукцию! - и благополучие вернется к вам же!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 01 2006, 15:06 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, окт 27 2005, 17:13
Сообщения: 1068
Откуда: Из бессрочного бана
Пол: Мужской
В целях оптимизации предпочтительнее делать один select into table itab + соответствующая сортировка и последующая обработка полученной таблицы.

_________________
В бессрочном бане


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 01 2006, 15:07 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 15 2005, 11:00
Сообщения: 288
Это понятно, но в Тесте ничего не отличу - может кто из личного опыта уже знает. Если в 1 случае идет агрегирование в selecte по group, а во 2-м уже программно суммирование


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 01 2006, 15:16 
Гость
тогда попробуй st05, там куча возможностей для оценки производительности


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: Мысли по оптимизации
СообщениеДобавлено: Ср, фев 01 2006, 15:17 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, авг 18 2004, 09:17
Сообщения: 477
Откуда: Москва
Пол: Мужской
Морской написал(а):
Смысл такой: в отчет нужно вывести данные по кварталам. Что будет быстрее: 4 select с ограничениями по каждому кварталу- into itab
или
1 select - а в нем анализ даты и раcпихивать по таблицам в самом select'e?

А как ты по таблицам "распихаешь" в самом селекте? select - endselect?

Вообще в твоем случае - 1 select в itab и потом обработка внутренней таблицы программно. Можно и без сортировки обойтись.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мысли по оптимизации
СообщениеДобавлено: Ср, фев 01 2006, 15:20 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 15 2005, 11:00
Сообщения: 288
Дмитрий написал:
А как ты по таблицам "распихаешь" в самом селекте? select - endselect?


select.... .
здесь анализ строки таблицы
endselect.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 01 2006, 15:23 
Гость
имеет значение предполагаемый размер внутренней таблицы, если она большая, то быстрее будет выполнить агрегирование в select
т.к. время записи данных во внутреннюю таблицу может быть довольно велико


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 01 2006, 15:25 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, авг 18 2004, 09:17
Сообщения: 477
Откуда: Москва
Пол: Мужской
Морской написал(а):
Это понятно, но в Тесте ничего не отличу - может кто из личного опыта уже знает. Если в 1 случае идет агрегирование в selecte по group, а во 2-м уже программно суммирование


Во втором случае сделай агрегирование по дням, если есть месяц, то по месяцам и потом программное суммирование. Все равно это предпочтительней, чем 4 селекта.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 01 2006, 15:26 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 15 2005, 11:00
Сообщения: 288
В общем смысл ясен - буду делать 2 варианта. В продуктиве погоняю. Вообще в книгах по оптимизации пишут, что все агрегирование делать только в select.


Последний раз редактировалось Морской Ср, фев 01 2006, 15:29, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Мысли по оптимизации
СообщениеДобавлено: Ср, фев 01 2006, 15:26 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, авг 18 2004, 09:17
Сообщения: 477
Откуда: Москва
Пол: Мужской
Морской написал(а):
Дмитрий написал:
А как ты по таблицам "распихаешь" в самом селекте? select - endselect?


select.... .
здесь анализ строки таблицы
endselect.

об этой конструкции забудь навсегда, если думаешь об оптимизации.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 01 2006, 15:30 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, авг 18 2004, 09:17
Сообщения: 477
Откуда: Москва
Пол: Мужской
nyar написал(а):
имеет значение предполагаемый размер внутренней таблицы, если она большая, то быстрее будет выполнить агрегирование в select
т.к. время записи данных во внутреннюю таблицу может быть довольно велико

Если мы сделаем группировку по дням, то вряд ли понадобится таблица более, чем с 366 записями... :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 01 2006, 15:39 
Гость
ну да, сперва в select'е наиболее укрупненно агрегируем (например для бухгалтерии это может быть поле "месяц финансового года"), а потом программно суммируем


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 01 2006, 15:41 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, авг 18 2004, 09:17
Сообщения: 477
Откуда: Москва
Пол: Мужской
Морской написал(а):
В общем смысл ясен - буду делать 2 варианта. В продуктиве погоняю. Вообще в книгах по оптимизации пишут, что все агрегирование делать только в select.

Дело в том, что OpenSQL урезан в синтаксисе, поэтому сделать подобное агрегирование только в запросе нельзя.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 01 2006, 15:48 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 15 2005, 11:00
Сообщения: 288
Дмитрий написал:
Морской написал(а):
В общем смысл ясен - буду делать 2 варианта. В продуктиве погоняю. Вообще в книгах по оптимизации пишут, что все агрегирование делать только в select.

Дело в том, что OpenSQL урезан в синтаксисе, поэтому сделать подобное агрегирование только в запросе нельзя.


Дак в этом и вопрос. Если 4 select с group by, то можно.


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

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


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

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


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

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