Текущее время: Пт, мар 29 2024, 15:03

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Как ускорить выборку с критерием A or B
СообщениеДобавлено: Пт, фев 15 2019, 09:18 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 14:11
Сообщения: 375
Подскажите, пожалуйста, как можно ускорить выборку.

Существует два селекта: select where a='21' и select where b='22', потом они вставляются loop-ом в одну таблицу.
Отрабатывает относительно быстро.

Мне нужно было, чтобы where a='21' or a='41' и where b='22' or b='42'.
Такая выборка делается почти вечно, как можно по-другому решить этот вопрос?

Или придется делать мне еще два селекта только с 41 и 42?? O_o это вряд ли правильный подход.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Очень долгая выборка
СообщениеДобавлено: Пт, фев 15 2019, 09:57 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 14:11
Сообщения: 375
Добавил дополнительные два селекта
и два соединения в единую таблицу
стало жутко долго)

как еще можно это сделать?
тут нужен совет :(


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Очень долгая выборка
СообщениеДобавлено: Пт, фев 15 2019, 10:05 
Специалист
Специалист

Зарегистрирован:
Пн, дек 29 2008, 07:19
Сообщения: 129
Пол: Мужской
ranges:
r_a TYPE RANGE OF (типом а),
r_B TYPE RANGE OF (типом B).

APPEND |IEQ {21} | TO R_A.
APPEND |IEQ {41} | TO R_A.

APPEND |IEQ {22} | TO R_B.
APPEND |IEQ {42} | TO R_B.

Select....
where a in r_a and
b in r_b.

попробуйте так...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Очень долгая выборка
СообщениеДобавлено: Пт, фев 15 2019, 10:06 
Специалист
Специалист

Зарегистрирован:
Пн, дек 29 2008, 07:19
Сообщения: 129
Пол: Мужской
data:
r_a type ranges of...
или
Ranges
r_a for ...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Очень долгая выборка
СообщениеДобавлено: Пт, фев 15 2019, 13:11 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 09:38
Сообщения: 170
Select …
from table
into corresponding fields of table lt_result
Where a IN ( '21', '41' ).

Select …
from table
appending corresponding fields of table lt_result
Where b IN ( '22', '42' ).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как ускорить выборку с критерием A or B
СообщениеДобавлено: Вс, фев 17 2019, 02:49 
Модератор
Модератор

Зарегистрирован:
Пн, июн 27 2011, 08:25
Сообщения: 475
sonics написал(а):
Подскажите, пожалуйста, как можно ускорить выборку.

Существует два селекта: select where a='21' и select where b='22', потом они вставляются loop-ом в одну таблицу.
Отрабатывает относительно быстро.

Мне нужно было, чтобы where a='21' or a='41' и where b='22' or b='42'.
Такая выборка делается почти вечно, как можно по-другому решить этот вопрос?

Или придется делать мне еще два селекта только с 41 и 42?? O_o это вряд ли правильный подход.


а какая таблица: примерный размер? навесить индекс на поле - плохая идея?
какая версия системы и база?
и есть ли SQL-трассировка запросов?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как ускорить выборку с критерием A or B
СообщениеДобавлено: Пт, фев 22 2019, 09:41 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, мар 29 2007, 11:51
Сообщения: 330
Откуда: Yugorsk.RU
Пол: Мужской
м.б. автор SELECT FOR ALL ENTRIES IN делает с пустой таблицей, потому и тормозит? Многие абаперы на эти грабли наступают.


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

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


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

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


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

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