Posted: Fri Oct 10, 2008 5:50 pm Post subject: Re: Количество JOIN в select
stn wrote:
Коллеги, сущеcтвует ли ограничение на количество join в селекте?
Quote:
On the left-hand side, either a single database table, a view dbtab_left, or a join expression join can be specified. On the right-hand side, a single database table or a view dbtab_right as well as join conditions join_cond can be specified after ON. In this way, a maximum of 24 join expressions that join 25 database tables or views with each other can be specified after FROM.
Age: 40 Joined: 01 Feb 2008 Posts: 387 Location: Воронеж
Posted: Fri Oct 10, 2008 5:51 pm Post subject:
Из хелпа:
Quote:
On the left-hand side, either a single database table, a view dbtab_left, or a join expression join can be specified. On the right-hand side, a single database table or a view dbtab_right as well as join conditions join_cond can be specified after ON. In this way, a maximum of 24 join expressions that join 25 database tables or views with each other can be specified after FROM.
лично я никогда не злоупотребляю. Помню тесты проводили, что быстрее работает большие join или несколько select с последующей обработкой во внутренних таблицах. так вот join проиграл. _________________ Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем
лично я никогда не злоупотребляю. Помню тесты проводили, что быстрее работает большие join или несколько select с последующей обработкой во внутренних таблицах. так вот join проиграл.
поддерживаю... после того как попытаешься отладить селект с десятком джоинов и кроме того обеспечить приемлемую скорость выполнения - как то начинаешь переосмысливать подход к программированию
На практике сложилось правило "больше трех не собираться". Четвертая таблица в джоине обычно резко просаживает скорость запроса.
Одна из причин этого имхо поле мандант в неюникодовых системах это целых 3 байта, на юникодовых (в моем случае) 9 знаков.
А если все объединения по полному ключу?
Много ( JOIN потребовалось для связи таблиц VBAK, VBAP, LIKP, LIPS, VBRK, VBRP через VBFA.
Например, решил пользователь сделать ограничение по Счету- фактуре, так что, сначала тащить все ордера, поставки, а потом фильтровать по фактуре? Не очень ли большой трафик получится?
А если все объединения по полному ключу?
Много ( JOIN потребовалось для связи таблиц VBAK, VBAP, LIKP, LIPS, VBRK, VBRP через VBFA.
Например, решил пользователь сделать ограничение по Счету- фактуре, так что, сначала тащить все ордера, поставки, а потом фильтровать по фактуре? Не очень ли большой трафик получится?
сначала тащить нужные фактуры, потом к ним заказы и тд. В чем проблема то?
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.