数据库中视图与表有哪些根本性差异?
- 内容介绍
- 文章标签
- 相关推荐
你有没有想过表跟视图到底是怎么一回事?不光是名字听起来像不同的东西,其实吧它们在数据库里可有一大堆根本区别,我爱我家。。
表:真正的存储箱子
先说说表嗯。把表想象成一个装满数据的箱子。里面有行行列列,存的是你所有要保存的信息。
每一列都有自己的类型——整数、字符串、日期,咱们都得先定好。这样才能保证输入的数据都是规范的。
当你往表里插入记录时那数据就立刻写进磁盘或SSD了。更新、删除也直接作用在那块硬盘上。
换句话说表就是“物理”存在的地方。它占空间, 话虽然是这么说… 占磁盘,还要维护索引等结构来加速查询。
性能:快到飞起
内卷。 主要原因是数据已经被写进了磁盘,查找一个字段通常只需要一次磁盘读取。如果索引匹配上了连这一步也可以跳过。
所以说当你需要频繁读写、做复杂统计时用表往往比用视图更快一些。
独立性:改过灵活
表结构可以按需调整——添加新列、 改字段类型,只要别破坏已有数据即可。只要其他应用不依赖旧结构,它就能自由变形,弯道超车。。
不地道。 这叫做“数据独立性”,也就是说业务层和物理层可以相对独立发展。
视图:虚拟窗口
佛系。 再来看看视图。把视图当成一个“窗户”,从这个窗户你能看到背后某个或多个表中的数据,但并不是真正存着任何东西。
创建视图时你只给它写一句 SELECT 语句,然后数据库把这句话保留下来。 我可是吃过亏的。 当有人访问视图时系统会根据这句 SQL 动态地从基表拉取最新的数据。
你有没有想过表跟视图到底是怎么一回事?不光是名字听起来像不同的东西,其实吧它们在数据库里可有一大堆根本区别,我爱我家。。
表:真正的存储箱子
先说说表嗯。把表想象成一个装满数据的箱子。里面有行行列列,存的是你所有要保存的信息。
每一列都有自己的类型——整数、字符串、日期,咱们都得先定好。这样才能保证输入的数据都是规范的。
当你往表里插入记录时那数据就立刻写进磁盘或SSD了。更新、删除也直接作用在那块硬盘上。
换句话说表就是“物理”存在的地方。它占空间, 话虽然是这么说… 占磁盘,还要维护索引等结构来加速查询。
性能:快到飞起
内卷。 主要原因是数据已经被写进了磁盘,查找一个字段通常只需要一次磁盘读取。如果索引匹配上了连这一步也可以跳过。
所以说当你需要频繁读写、做复杂统计时用表往往比用视图更快一些。
独立性:改过灵活
表结构可以按需调整——添加新列、 改字段类型,只要别破坏已有数据即可。只要其他应用不依赖旧结构,它就能自由变形,弯道超车。。
不地道。 这叫做“数据独立性”,也就是说业务层和物理层可以相对独立发展。
视图:虚拟窗口
佛系。 再来看看视图。把视图当成一个“窗户”,从这个窗户你能看到背后某个或多个表中的数据,但并不是真正存着任何东西。
创建视图时你只给它写一句 SELECT 语句,然后数据库把这句话保留下来。 我可是吃过亏的。 当有人访问视图时系统会根据这句 SQL 动态地从基表拉取最新的数据。

