Текущее время: Вт, июл 29 2025, 03:41

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


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


ВНИМАНИЕ!

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



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

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
nicky555 написал:
Кстати, как показала практика, условие WHERE с LIKE работает шустрее, нежели с RANGES... :roll:


Это очень интересно, потому что оба примера, приведённых ниже, разложатся в абсолютно одинаковые запросы для БД. По крайней мере для Oracle.

Code:
TABLES:
  comm_product.

DATA:
  gsr_product_id TYPE comt_product_id_range,
  gtr_product_id TYPE comt_product_id_range_tab
.

gsr_product_id-sign = 'I'.
gsr_product_id-option = 'CP'.
gsr_product_id-low = '*1'.
APPEND gsr_product_id TO gtr_product_id.

SELECT *
  FROM comm_product
  WHERE product_id
*  LIKE '%1'.
  IN gtr_product_id.
ENDSELECT.


Code:
TABLES:
  comm_product.

DATA:
  gsr_product_id TYPE comt_product_id_range,
  gtr_product_id TYPE comt_product_id_range_tab
.

gsr_product_id-sign = 'I'.
gsr_product_id-option = 'CP'.
gsr_product_id-low = '*1'.
APPEND gsr_product_id TO gtr_product_id.

SELECT *
  FROM comm_product
  WHERE product_id
  LIKE '%1'.
*  IN gtr_product_id.
ENDSELECT.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 03 2006, 08:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Э-э-э.. уважаемые, которые сравнивали скорость. а вы учли что данные кэшируются на уровне БД? :-) Что для верности или надо кэш сбрасывать(забивать каким-нибудь мусором, после выполнения нужно запроса), или гонять несколько раз, чтобы в обоих случаях данные брались через кэш.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 03 2006, 09:10 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
Кодер написал(а):
Э-э-э.. уважаемые, которые сравнивали скорость. а вы учли что данные кэшируются на уровне БД? :-) Что для верности или надо кэш сбрасывать(забивать каким-нибудь мусором, после выполнения нужно запроса), или гонять несколько раз, чтобы в обоих случаях данные брались через кэш.

не в кэше дело, и не скорость сравнивается
а то что на выходе из полцучиться одинаковые найтив-sql запросы

по теме топика:
думай коллективный разум, думай
неохота мне перестановки генерить!

_________________
полный SAPец


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

Зарегистрирован:
Вт, авг 17 2004, 12:44
Сообщения: 305
Откуда: Жайрем -> Астана
по теме:
наверное именно с перестановками и только ИМХО
будете генерить их и класть в range...а сама генерация перестановок еще та история


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 03 2006, 09:57 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
flipper написал(а):
по теме:
наверное именно с перестановками и только ИМХО
будете генерить их и класть в range...а сама генерация перестановок еще та история

генерации перестановок универом бы обучены=)
только на в ranges а (where) формировать надо...скучно

_________________
полный SAPец


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

Зарегистрирован:
Вт, авг 17 2004, 12:44
Сообщения: 305
Откуда: Жайрем -> Астана
ну не знаю :wink:
мне кажется если с перестановками проблем нет, то ranges удобней : записываете свои *А*В* и *В*А* в range и where in range... ИМХО конечно :wink:


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

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
EGF написал(а):
nicky555 написал:
Кстати, как показала практика, условие WHERE с LIKE работает шустрее, нежели с RANGES... :roll:

Это очень интересно, потому что оба примера, приведённых ниже, разложатся в абсолютно одинаковые запросы для БД. По крайней мере для Oracle.

... а время на интерпретацию запроса?
... а если в RANGES много записей?

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 03 2006, 10:54 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
время на соединение с базой много больше всего остального

_________________
полный SAPец


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

Зарегистрирован:
Вт, авг 17 2004, 14:35
Сообщения: 1519
Откуда: В ВЕЧНОМ БАНЕ
nicky555 написал:
... а если в RANGES много записей?

Ну больше 1300-1500 все равно не будет :wink:


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

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


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

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


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

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