2014-09-16 2 views

ответ

3

No.

Вид в основном макро - ваше определение представления получает слито с запросом против него, а затем выполняется.

Итак:

CREATE VIEW v1 AS SELECT * FROM customers WHERE active; 
SELECT * FROM v1 WHERE name LIKE 'A%'; 

становится:

SELECT * FROM customers WHERE active AND name LIKE 'A%'; 
+1

Действительно, кэширование план выполнения не имеет смысла. Возможно, сегодня вы выбираете каждую строку обзора, а завтра вы просто выбираете ее. Эти запросы потребуют совершенно разных планов запросов. – Kevin

+0

Если кто-то найдет ссылку для поддержки этого ответа, это будет хорошо. Может ли быть разным для разных версий PostreSQL? –

+0

Онлайн-документация PosygreSQL охватывает все это и многое другое. И нет, это то же самое во всех версиях. Почему вы думаете иначе? –

Смежные вопросы