Текущее время: Пт, июл 18 2025, 19:21

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


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

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


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

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