SQL数据库中视图和表有哪些本质区别?

更新于
2026-08-15 00:27:21
2阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐
说起来,

SQL 数据库中视图和表的本质区别

在日常开发与运维过程中。很多同学都会碰到以下痛点:

1️⃣ 定义方式与结构差异

  • 通过 CREATE TABLE 创建,拥有独立的物理结构,用于实际存储数据。
  • 视图通过 CREATE VIEW 定义,是一个基于一个或多个表的查询语句的“虚拟表”。它本身不拥有物理存储,只保存查询定义。其实,

2️⃣ 数据存储方式

  • 表:数据以行列形式真实写入磁盘或内存。插入、更新、删除都会直接修改底层文件。按理说,
  • 视图:不保存任何数据。仅在被查询时动态执行其定义的 SELECT 语句,从基础表实时获取结果。除非是物化视图,否则不会占用额外存储空间。

3️⃣ 更新行为

使用者痛点:对视图的增删改是否会影响底层表?

SQL数据库中视图和表有哪些本质区别?
  • 表:支持直接的 INSERT、UPDATE、DELETE,操作立即落在自身的数据页上。
  • 普通视图:默认是只读的。若满足可更新视图的规则,对其执行 DML 会被转换为对对应基表的同等操作。说起来,
  • 可更新视图的实现方式:
    1. 满足程序自动可更新条件。
    2. 在视图上创建 INSTEAD OF 触发器,自定义 DML 转换逻辑。
阅读全文
标签:视图
说起来,

SQL 数据库中视图和表的本质区别

在日常开发与运维过程中。很多同学都会碰到以下痛点:

1️⃣ 定义方式与结构差异

  • 通过 CREATE TABLE 创建,拥有独立的物理结构,用于实际存储数据。
  • 视图通过 CREATE VIEW 定义,是一个基于一个或多个表的查询语句的“虚拟表”。它本身不拥有物理存储,只保存查询定义。其实,

2️⃣ 数据存储方式

  • 表:数据以行列形式真实写入磁盘或内存。插入、更新、删除都会直接修改底层文件。按理说,
  • 视图:不保存任何数据。仅在被查询时动态执行其定义的 SELECT 语句,从基础表实时获取结果。除非是物化视图,否则不会占用额外存储空间。

3️⃣ 更新行为

使用者痛点:对视图的增删改是否会影响底层表?

SQL数据库中视图和表有哪些本质区别?
  • 表:支持直接的 INSERT、UPDATE、DELETE,操作立即落在自身的数据页上。
  • 普通视图:默认是只读的。若满足可更新视图的规则,对其执行 DML 会被转换为对对应基表的同等操作。说起来,
  • 可更新视图的实现方式:
    1. 满足程序自动可更新条件。
    2. 在视图上创建 INSTEAD OF 触发器,自定义 DML 转换逻辑。
阅读全文
标签:视图