Варианты использования для боковых, которые не включают функцию возврата набора

Я читал этот пост на днях:

http://blog.heapanalytics.com/postgresqls-powerful-new-join-type-lateral/

Я подозревал, что некоторые из утверждений в посте, возможно, не были точными. Этот в частности:

"Без боковых объединений нам пришлось бы прибегнуть к PL/pgSQL для выполнения этого анализа. Или, если бы наш набор данных был небольшим, мы могли бы избежать сложных, неэффективных запросов".

sum(1) а также order by time limit 1 подход показался мне менее чем идеальным, и я подумал, что этот анализ можно выполнить с помощью обычных левых соединений, а не боковых левых. Итак, я пришел с доказательством концепции:

https://github.com/ajw0100/snippets/tree/master/SQL/lateral

Является ли мой вывод в README правильным? Делает что-нибудь заselect...from...where в соединенном в боковом подзапросе форсирует вложенный цикл? В таком случае, действительно ли боковое действительно полезно только для функций, возвращающих множество, как предлагают документы? Кто-нибудь знает какие-либо варианты использования для боковых, которые не включают функцию возврата набора?

0 ответов

Другие вопросы по тегам