为什么使用数据库视图?

Ses*_*aat 9 database-design view advantage-database-server database-schema

在db design right方法中使用"view"还是应该处理代码端?有什么优点或缺点?

Pas*_*TIN 15

我看到使用视图的几个原因:

  • 提供一个更简单的界面:只查询视图,而不是十几个表,进行连接和所有
  • 提供一个不会改变(或不常见)的界面:
    • 即使您更改了表的结构,也可以修改视图,使其仍然返回相同的内容
    • 这意味着您的应用程序代码不需要进行任何更改:它仍然有效,因为它使用视图,而不是直接访问表
  • 仅为表的某些字段提供接口
    • 用户无需查看他们不会使用的某些数据
    • 或者访问一些他们不应该使用的数据
  • 对于一些数据库引擎(我认为MS SQL Server支持),某些类型的视图可以有索引
    • 这对于性能来说是一件好事:如果您有一些复杂的查询,请将其存储为视图,并在该视图上定义所需的索引

  • 查询性能如何?可以查看增加查询的性能吗? (2认同)

Ces*_*Gon 5

在我们的案例中,两种典型的观点场景是:

  • 表中的某些列包含只有少数人才能看到的机密数据.您可以创建一个排除这些列的视图,并为大多数用户使用该视图.
  • 您将两个或多个表连接到非规范化视图中,该视图对于报告目的而言是实用的,但作为存储在数据库中的表没有意义.

希望这可以帮助.