<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>视图 on 老张开工了</title>
    <link>/%E8%A7%86%E5%9B%BE/</link>
    <description>Recent content in 视图 on 老张开工了</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Wed, 19 Feb 2025 10:00:00 +0800</lastBuildDate>
    <atom:link href="/%E8%A7%86%E5%9B%BE/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>视图与物化视图</title>
      <link>/posts/2025/02/views-and-materialized-views/</link>
      <pubDate>Wed, 19 Feb 2025 10:00:00 +0800</pubDate>
      <guid>/posts/2025/02/views-and-materialized-views/</guid>
      <description>视图（View）和物化视图（Materialized View）是 PostgreSQL 中封装复杂查询、提供数据和访问控制层的重要工具。&#xA;视图：虚拟表 视图本质上是一个命名的查询，不存储数据，每次查询时执行底层查询。&#xA;-- 准备数据 CREATE TABLE products ( id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, category VARCHAR(50), price NUMERIC(10,2), stock INTEGER, is_active BOOLEAN DEFAULT true ); INSERT INTO products (name, category, price, stock, is_active) VALUES (&amp;#39;笔记本电脑&amp;#39;, &amp;#39;电子产品&amp;#39;, 5999, 50, true), (&amp;#39;手机&amp;#39;, &amp;#39;电子产品&amp;#39;, 3999, 200, true), (&amp;#39;耳机&amp;#39;, &amp;#39;电子产品&amp;#39;, 299, 500, true), (&amp;#39;运动鞋&amp;#39;, &amp;#39;服饰&amp;#39;, 599, 300, true), (&amp;#39;T恤&amp;#39;, &amp;#39;服饰&amp;#39;, 99, 100, false), (&amp;#39;咖啡机&amp;#39;, &amp;#39;家居&amp;#39;, 1299, 50, true); 创建视图 -- 创建一个活跃产品视图 CREATE VIEW active_products AS SELECT id, name, category, price, stock FROM products WHERE is_active = true; -- 使用视图（就像使用表一样） SELECT * FROM active_products WHERE category = &amp;#39;电子产品&amp;#39; ORDER BY price DESC; 视图的作用 简化复杂查询 -- 创建常用分析视图 CREATE VIEW customer_order_summary AS SELECT c.</description>
    </item>
  </channel>
</rss>
