Показать сообщение отдельно
Старый 09.12.2016, 22:10   #10  
Pokersky09 is offline
Pokersky09
Участник
 
43 / 60 (3) ++++
Регистрация: 15.11.2012
Адрес: Turkey
Цитата:
Сообщение от mazzy Посмотреть сообщение
Не совсем.
в вашем запросе outer join есть?
Нет, чисто Inner Join.


Цитата:
Сообщение от mazzy Посмотреть сообщение
Эквивалентны функционально.
Но не эквивалентны с точки зрения производительности.
Именно в этом направлении и двигаюсь.

По производительности отличие существенное, когда в таблице Line 200KK+ записей, а в Header порядка 120К+(этот случай в бд разбираю).

На уровне SQL выполняя запросы на CROSS/INNER скорость существенно отличается, на кросе около 800ms самый хороший результат.

Пробовал на sql, тестил только планы запросов, без замеров времени:
Inner / Inner loop join, отличались циклом от варианта без loop,

Cost запроса CROS/INNER/LOOP_INNER = 44/44/13

Т.е. по стоимости по плану loop_Inner наиболее быстрый.

Планы CROS/INNER одинаковые, как и цена.

Позже выложу скрины по факту с временем, планами запросов и показателями таблиц

P.s. тему поднял не для теоретического рассуждения, а для реального решения проблемы

Последний раз редактировалось Pokersky09; 09.12.2016 в 22:12. Причина: отличались циклом от варианта без loop*
За это сообщение автора поблагодарили: mazzy (2).