Подзапросы: как будет эффективнее - выносить в раздел WITH или в представления (view) ?

SQL-Talker
Дата: 03.03.2022 11:39:59
В случае с запросами с подзапросами в разделе FROM я обычно выношу их в раздел WITH , но при большом количестве таких подзапросов и при их объемном тексте страдает читабельность кода.

Вопрос - велика ли разница по производительности кода в случаях когда подзапросы вынесены в WITH и когда они оформлены в виде VIEW ?
PuM256
Дата: 03.03.2022 12:06:11
SQL-Talker,

Надо смотреть планы конкретных запросов, а также проводить испытания. Но в целом предположу, что в подавляющем большинстве случаев разницы не будет.
istrebitel
Дата: 03.03.2022 13:48:30
View собственно не для этого. View это когда кусочек запроса вы используете в разных запросах. Или для организации подобия row level security или для аудита чтения данных.
SQL-Talker
Дата: 04.03.2022 00:13:48
SQL-Talker
В случае с запросами с подзапросами в разделе FROM я обычно выношу их в раздел WITH , но при большом количестве таких подзапросов и при их объемном тексте страдает читабельность кода.

Вопрос - велика ли разница по производительности кода в случаях когда подзапросы вынесены в WITH и когда они оформлены в виде VIEW ?

опечатка: имелось в виду "или когда..."

т.е. альтернатива:
- вынести подзапрос из FROM в WITH
- оформить подзапрос как VIEW и оставить во FROM
SQL-Talker
Дата: 04.03.2022 00:16:52
istrebitel
View собственно не для этого. View это когда кусочек запроса вы используете в разных запросах. Или для организации подобия row level security или для аудита чтения данных.

Это да, но когда у вас текст запроса составляет одиннадцать страниц, то оформление подзапроса в виде вью кажется вполне себе здравой мыслью