gpt4 book ai didi

sql - View 和带有 where 子句的查询之间的性能差异

转载 作者:行者123 更新时间:2023-11-29 13:04:21 27 4
gpt4 key购买 nike

在 View 上运行查询或使用 where 子句在关联的 View 查询上运行查询之间是否存在(大)性能差异?

例如

CREATE VIEW v_comedies AS
SELECT *
FROM films
WHERE kind = 'Comedy';

这些查询之间是否存在性能差异?

1: SELECT * FROM v_comedies WHERE filmName LIKE 'Bat%'
2: SELECT * FROM films WHERE kind = 'Comedy' AND filmName LIKE 'Bat%'

最佳答案

一般来说,PostgreSQL 中的 View 存储为 SELECT 查询,因此您问题中的两个查询的性能应该相同。

如果电影表不经常更新,比如一天只更新一次,但查询执行频率很高,则可以使用物化 View 。它的行为类似于使用 CTAS 创建的表(CREATE TABLE ... AS ...),但还会存储用于创建它的 SQL 查询,因此您可以按需刷新物化 View 。

一般来说, View 用于连接,而不是选择。

关于sql - View 和带有 where 子句的查询之间的性能差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18794822/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com