Текущее время: Сб, апр 20 2024, 08:31

Часовой пояс: 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 часа


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

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


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

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