因为我总是可以从原始表,而不是创建一个视图,并利用从中选择使用Select语句,我不知道什么是使用视图的好处数据库?
10
A
回答
11
它简化了调用并提供了一个间接层。
所以,如果你有一个复杂的选择与大量的联接,你可以在视图中实现它,只需调用视图,而无需考虑所有这些联接。然后,您可以重新使用此视图。
此外,如果您以这种方式使用视图而不是表格,将来如果您需要迁移列,则可以轻松地进行此操作,并且只需要对视图进行更改。
2
除了Oded提到的明显好处之外,您还可以使用materialized views大幅度提高速度。来自wikipedia:
在关系模型之后的数据库管理系统中,视图是表示数据库查询结果的虚拟表。无论何时查询或更新普通视图的表,DBMS都会将这些转换为针对基础表的查询或更新。物化视图采用不同的方法,将查询结果缓存为可能会从原始基表随时更新的具体表。
1
有几种,但我认为主要的好处是视图是逻辑数据独立性的SQL实现。
构建一个可更新的视图,并且使用该视图的应用程序相对于基础表中的更改是相对免疫的。更改基础表的结构,更新视图定义,并且所有应用程序都像没有任何事情一样工作。 (在旧版数据库,可能有数以百计的书面几十种语言的应用程序。这是大胜利。)
其他好处(意译克里斯日期)
“自动”安全隐患的数据。限制对视图的访问,并且对谁看到什么有精细的控制。
应用程序的“DRY”功能。视图可以为复杂的SELECT语句提供一个简单的公共接口,因此应用程序只需SELECT column-list FROM my-easy-view
即可。
不同的用户可以用不同的方式看到相同的数据。
相关问题
- 1. 使用数据库抽象层有什么好处?
- 2. 使用数据库游标有什么好处?
- 3. 为什么使用数据库视图?
- 4. 在xPages中使用数据上下文有什么好处?
- 5. 在大量数据库中启动MySQL数据库id有什么好处吗?
- 6. 使用位图有什么好处吗?
- 7. 将Razor视图用作AngularJS视图有什么好处吗?
- 8. 在嵌入式数据库中使用JDBC连接池有什么好处吗?
- 9. 什么数据库对非结构化数据有好处
- 10. 在像SQL这样的数据库中存储数据有什么好处?
- 11. 在Sprite Kit中使用纹理图谱有什么好处?
- 12. 当我用EF6查询数据库时,使用LINQ有什么好处?
- 13. 会员数据库有什么更好?
- 14. 在document.createElement('header')上使用html5shim库有什么好处吗?
- 15. Sharepoint错误数据库 - 有什么好处?
- 16. junit测试的内存数据库有什么好处?
- 17. 提交Git对象数据库有什么好处?
- 18. 平面文件数据库有什么好处?
- 19. 在php中使用匿名函数有什么好处?
- 20. 在java中,使用“new”初始化数组有什么好处?
- 21. 使用varchar代替文本数据类型有什么好处?
- 22. 使用包含类的数据的PrivateClass有什么好处?
- 23. 在laravel 5的仓库中使用构造函数注入有什么好处?
- 24. 使用Hive作为数据仓库时对我的情况有什么好处?
- 25. 与使用addSubView添加视图相比,使用UINavigationController有什么好处?
- 26. 在MySQL数据透视表中自动递增主键有什么好处吗?
- 27. V13 Android支持库有什么好处?
- 28. 在使用熊猫导出数据框时使用ExcelWriter有什么好处?
- 29. 这种数据库建模称为什么?它有什么好处?
- 30. node.js - 使用玉器有什么好处