Posted: Fri Feb 15, 2008 2:17 pm Post subject: Ускорение селекта из BSEG
Отчет тормозит на селекте. Можно что-нибудь оптимизировать?
Code:
* get accounting data from BSEG by personal number
SELECT *
APPENDING CORRESPONDING FIELDS OF TABLE report_table
FROM bseg
WHERE bukrs IN p_bukrs
AND kostl IN kostl
AND kokrs IN kokrs
AND augdt = '00000000'
AND ( ( gjahr IN r_gjahr
AND pernr IN pernr
AND pernr <> ''
AND hkont IN hkont_p )
or ( lifnr IN lifnr
AND lifnr LIKE 'E%'
AND hkont IN hkont_l ) )
.
Относительно быстро выборка из BSEG работает только по первичному ключу. Во всех остальных случаях только использовать индексные таблицы - BSID, BSAD и тд и тп
Относительно быстро выборка из BSEG работает только по первичному ключу. Во всех остальных случаях только использовать индексные таблицы - BSID, BSAD и тд и тп
Это понятно, но pernr есть только в bseg. То есть не ускорить?
Ну вот так... BSEG - она такая
Можно попробовать сделать в два этапа:
1. Выбрать сначала все нужные номера документов во внутреннюю табличку из индексных таблицу (без учета pernr)
2. Выбирать из BSEG с учетом pernr либо по полному ключу, либо как минимум по БЕ, номеру и году
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.