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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Ускорение SELECTа
СообщениеДобавлено: Вт, июн 17 2008, 06:39 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, фев 15 2008, 12:14
Сообщения: 146
Есть такой вот select
SELECT *
FROM bsik
WHERE bukrs = rbukrs AND zfbdt <= raugdt AND shkzg = 'H'
AND xpypr = '' AND lifnr IN rlifnr AND
AND
( EXISTS ( SELECT * FROM bsis WHERE belnr = bsik~belnr AND
bukrs = bsik~bukrs AND gjahr <= bsik~gjahr AND
fipos IN rfipos AND fistl = rfistl ) OR
EXISTS ( SELECT * FROM bsas WHERE belnr = bsik~belnr AND
bukrs = bsik~bukrs AND gjahr <= bsik~gjahr AND
fipos IN rfipos AND fistl = rfistl ) ) .

Это селект ведет себя странно. Если переменная rfipos (типа range)
имеет такое содержимое
SIGN OPTION LOW HIGH
I |EQ |12410101 |
то селект работает невыносимо долго.
Если же rfipos имеет такое содержимое
SIGN OPTION LOW HIGH
I |BT |12410101 |12410101
что по сути одно и тоже, то селект выстреливает мгновенно.
В чем дело?


Последний раз редактировалось dashkun Вт, июн 17 2008, 07:27, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 17 2008, 07:26 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 01 2004, 12:17
Сообщения: 298
Пол: Мужской
Наверное стоит посмотреть план запросов. В частности условие WHERE для каждого случая.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 17 2008, 07:33 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, фев 15 2008, 12:14
Сообщения: 146
RA написал:
Наверное стоит посмотреть план запросов. В частности условие WHERE для каждого случая.

Что за план запросов и где его смотреть. А условие where смыслу одинаково для обоих случаев.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 17 2008, 07:57 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 01 2004, 12:17
Сообщения: 298
Пол: Мужской
Попробуйте посмотреть какой SELECT формируется при обращении к БД для каждого случая, примерно так:

[url]http://www.sap-easy.net.ru/trc.htm
[/url]

и сравните условие в них условие WHERE.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 17 2008, 08:22 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, фев 15 2008, 12:14
Сообщения: 146
Похоже сервор глючил, щас все нормально выстреливает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 17 2008, 12:02 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, авг 17 2004, 08:49
Сообщения: 319
Откуда: Мариуполь
Еще возможно, что это из-за индексов. Тогда администраторам необходимо провести их реорганизацию.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: ку
СообщениеДобавлено: Вт, июн 17 2008, 16:59 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
ваш запрос бесчеловечен..


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ку
СообщениеДобавлено: Вт, июн 17 2008, 18:13 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
trop написал(а):
ваш запрос бесчеловечен..

+1

Вначале нужно определить, почему нельзя использовать фин.позиции и ПФМ на кредиторских позициях документа.
Если они должны отличаются и их нельзя проставить, то лучше разделить запрос на 2 части:
а)выборка по BSIK с inner join BSIS
б)выборка по BSIK с inner join BSAS

Ну и количество выбираемых полей из BSIK лучше ограничить ;)

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 18 2008, 05:50 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, фев 15 2008, 12:14
Сообщения: 146
Удав написал(а):
trop написал(а):
ваш запрос бесчеловечен..


Иначе ни как. В том плане что фин позиции из кредиторских позиций не катит. Сама была от этого в сильном расстройстве. Насчет разделить посмотрю, сравню. В принципе и сейчас более менее быстро работает.


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

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


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

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


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

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