sql - 通过连接表来创建 SQL 视图是一种好习惯吗?
问题描述
我有这个问题,通过加入两个或多个表来创建 SQL 视图是否存在任何性能问题?这是一种好的做法,还是应该创建另一个带有连接的表并在其上创建视图?
解决方案
视图创建一个逻辑表,该表可以是任何 SQL 语句的结果。
创建视图时,您会记住以下内容:-
- 将列(通过选择)或行(通过位置)的可见性限制为仅与任务相关的可见性
- 将多个表中的行(通过联合)和/或列(通过连接)组合到一个逻辑表中。
- 将行(通过 Group BY 和 Have)聚合为从具有更精细细节的表格中提取的更独特的呈现。
视图有以下好处:(参考——什么是使用 SQL 视图的好理由?)
- 安全性 - 用户可以访问视图,而不能直接访问基础表。这允许 DBA 仅向用户提供他们需要的数据,同时保护同一个表中的其他数据。
- 简单性 - 视图可用于隐藏和重用复杂查询。
- 列名简化或澄清 - 视图可用于为列名提供别名,以使它们更容易记住或更有意义。
谢谢!!!
推荐阅读
- clickhouse - 接收 clickhouse 代码:210。DB::NetException:网络异常:尝试通过远程主机连接时没有到主机的路由 (XX.XXXX:9000)
- docker - Jenkins docker 在阶段完成后删除生成的文件
- amazon-web-services - 无需通过 S3 控制台即可将 AWS S3 存储桶内容下载到本地
- javascript - 在 javascript 中将 json 数据存储在本地数据库中的选项
- python - 无法使用 wget 和 python http 服务器下载现有文件
- python - 没有可用行时,Python mysql“找到未读结果”错误
- php - 获取数组中重复次数最多的元素,如果不止一个是重复次数最多的,则按字母顺序获取结果 PHP
- javascript - 使用 Javascript 根据父级的背景颜色设置子级的不透明度值
- html - 如何更改html中第二个标题的颜色
- ios - Spotify iOS sdk 使用现有访问令牌连接到 Spotify 远程应用程序