一尘不染

使用SQL视图的充分理由是什么?

sql

我正在阅读SQL Server 2008圣经,并且涵盖了视图部分。但是作者确实没有解释观点的 目的
。观看有什么好的用处?我应该在我的网站上使用它们吗?它们有什么好处?


阅读 218

收藏
2021-03-17

共1个答案

一尘不染

以前的答案似乎都没有提到的另一种用法是更易于部署表结构更改。

假设您希望停用T_OLD包含活动用户数据的表(),而改用具有相似数据(名为T_NEW)的新表,但该表同时包含活动用户和非活动用户的数据,并增加一列active

如果您的系统中有大量的查询,则SELECT whatever FROM T_OLD WHERE whatever可以采用两种选择:

1) Cold Turkey- 更改数据库,同时更改,测试和发布包含所述查询的大量代码。很难做到(甚至协调),非常冒险。坏的。

2) 渐进式 -通过创建T_NEW表,删除T_OLD表并创建一个名为 VIEW的VIEW 来更改数据库,该
VIEWT_OLD模仿T_OLD表100%(例如,视图查询为SELECT all_fields_except_active FROM T_NEW WHERE active=1)。

这样一来,您就可以避免释放当前从中选择的任何代码T_OLD,并进行更改以将代码从轻松地迁移T_OLDT_NEW

这是一个简单的示例,还有很多其他方面。

PS另一方面,您可能应该有一个 存储过程API, 而不是来自的直接查询T_OLD,但这并非总是如此。

2021-03-17