Atitit 数据库view视图使用推荐规范与最佳实践与方法
Atitit 数据库view视图使用推荐规范与最佳实践与方法
1. 视图的优点: 1
1.1. **提升可读性 定制用户数据,聚焦特定的数据 1
1.2. 使用视图,可以简化数据操作。 1
1.3. **提升扩展性 屏蔽底层表的重构变动,免编译免部署热更新 2
1.4. B.查询简单化。 2
1.5. C.逻辑数据独立性。 2
1.6. 提高数据安全性,可以不让用户看到表中的某个字段. 2
1.7. 合并分离的数据,创建分区视图 2
1.8. 模拟索引列 3
2. 缺点 3
2.1. 小部分场景下,复杂视图可能会有性能问题,可以使用带参数的sp解决。。 3
2.2. 和sp相比,不能传参数,有些数据库可能可以,这种场景要使用sp存储过程 3
2.3. 修改限制,复杂视图可能不能修改,需要直接在表上修改即可 3
3. 视图的命名规范 3
3.1. 推荐使用 数据/模块_列维度 3
4. 适用场景 3
1. 视图的优点:
1.1. **提升可读性 定制用户数据,聚焦特定的数据
1.2. 使用视图,可以简化数据操作。
解释:我们在使用查询时,在很多时候我们要使用聚合函数,同时还要
显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能
会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我
1.3. **提升扩展性 屏蔽底层表的重构变动,免编译免部署热更新
1.4. B.查询简单化。
为复杂的查询建立一个视图,用户不必输入复杂的查询语句,只需针对此视图做简单的查询即可。那些被经常使用的查询可以被定义为视图,从而使用户不必为以后的操作每次都指定全部的条件。
1.5. C.逻辑数据独立性。
视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。
对于视图的操作,例如,查询只依赖于视图的定义,当构成视图的基本表需要修改时,只需要修改视图定义中的子查询部分,而基于视图的查询不用改变。
1.6. 提高数据安全性,可以不让用户看到表中的某个字段.
比如password,你只给他们执行视图的权限,不给执行表的权限,他们就无法查看全部数据.
还有可以建立一个视图,内容包括两个表,更新的时候只需要指定ID,而不用管它来自哪个表,对应表中的数据就会自动更新.
1.7. 合并分离的数据,创建分区视图
随着社会的发展,公司的业务量的不断的扩大,一个大公司,下属都设有很
多的分公司,为了管理方便,我们需要统一表的结构,定期查看各公司业务
情况,而分别看各个公司的数据很不方便,没有很好的可比性,如果将这些
数据合并为一个表格里,就方便多啦,这时我们就可以使用union关键字,
将各分公司的数据合并为一个视图。
1.8. 模拟索引列
2. 缺点
2.1. 小部分场景下,复杂视图可能会有性能问题,可以使用带参数的sp解决。。
预先排除垃圾数据
2.2. 和sp相比,不能传参数,有些数据库可能可以,这种场景要使用sp存储过程
2.3. 修改限制,复杂视图可能不能修改,需要直接在表上修改即可
3. 视图的命名规范
3.1. 推荐使用 数据/模块_列维度
比如同一消费对账视图,即为 消费对账_月份_消费金额_网点
然后就方便 groupby 月份,网点为维度,统计消费。。
4. 适用场景
大部分场景下可以优先使用视图,提升可读性,开发效率,安全性。。
如果没有视图也不必刻意增加视图,循序渐进。。
典型使用场景,在复杂查询和报表统计模块上,非常实用。。。
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher kok 虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王
简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon bin adam Al Rapanui
埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当 阿尔 拉帕努伊
常用名:艾提拉(艾龙), EMAIL:1466519819@qq.com
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher kok 虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王
简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当 阿尔 拉帕努伊
常用名:艾提拉(艾龙), EMAIL:1466519819@qq.com
头衔:uke总部o2o负责人,全球网格化项目创始人,
uke交友协会会长 uke捕猎协会会长 Emir Uke部落首席大酋长,
uke宗教与文化融合事务部部长, uke宗教改革委员会副主席
uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,
uke 首席cto 软件部门总监 技术部副总监 研发部门总监主管 产品部副经理 项目部副经理 uke科技研究院院长uke软件培训大师
uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人
Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长
uke终身教育学校副校长 Uke医院 与医学院方面的创始人
uec学院校长, uecip图像处理机器视觉专业系主任 uke文档检索专业系主任
Uke图像处理与机器视觉学院首席院长
Uke 户外运动协会理事长 度假村首席大村长 uke出版社编辑总编
转载请注明来源:attilax的专栏 ?http://blog.csdn.net/attilax
--Atiend v8
Atitit 数据库view视图使用推荐规范与最佳实践与方法相关推荐
- [Client]前端代码规范 及 最佳实践
前端代码规范 及 最佳实践 2014/10/29 | 分类: WEB前端, 工具与资源, 开发 | 0 条评论 | 标签: 代码规范, 前端开发, 最佳实践 分享到: 62 本文作者: 伯乐在线 - ...
- Oracle 12c数据库优化器统计信息收集的最佳实践
Oracle 12c数据库优化器统计信息收集的最佳实践 转载自 沃趣科技(ID:woqutech) 作者 刘金龙(译) 原文链接 http://www.oracle.com ...
- atitit.人脸识别的应用场景and使用最佳实践 java .net php
atitit.人脸识别的应用场景and使用最佳实践 java .net php 1. 人脸识别的应用场景 1 2. 框架选型 JNI2OpenCV.dll and JavaCV 1 3. Url ap ...
- [转载]前端代码规范 及 最佳实践
http://blog.jobbole.com/79075/#_general_practices 本文作者: 伯乐在线 - 老码农 .未经许可,禁止转载! 欢迎分享原创到伯乐头条. 本文来自 Iso ...
- 前端代码规范及最佳实践
本文来自 Isobar公司 的 github repo 中文版 翻译: @老码农的自留地 概述 本文档包含了Isobar公司的创意技术部(前端工程)开发web应用的规范.现在我们把它开放给任何希望了解 ...
- 前端代码规范 及 最佳实践
本文来自 Isobar公司 的 github repo 中文版 翻译: @老码农的自留地 概述 本文档包含了Isobar公司的创意技术部(前端工程)开发web应用的规范.现在我们把它开放给任何希望了解 ...
- 数据库VIEW(视图)
视图是基于 SQL 语句的结果集的可视化的表. 视图包括行和列,就像一个真实的表.视图中的字段就是来自一个或多个数据库中的真实的表中的字段. 我们能够向视图加入 SQL 函数.WHERE 以及 JOI ...
- jQuery编程规范与最佳实践(附带一些个人的笔记)
加载jQuery-Loading jQuery 1.坚持使用CDN来加载jQuery,这种别人服务器免费帮你托管文件的便宜干嘛不占呢.点击查看使用CDN的好处,点此查看一些主流的jQuery CDN地 ...
- Two Scoops Django 推荐的数据模型最佳实践
添加或修改数据模型都不能马虎,有关数据的操作都需慎重考虑. 推荐使用的 Django 数据模型相关的包: django-model-utils: 使用其 TimeStampedModel django ...
- 数据库智能运维高级探索与最佳实践
关注我们,下载更多资源 从自动化到智能化运维过渡时,美团DBA团队进行了哪些思考.探索与实践?本文整理出来,供大家学习和参考. 背景 近些年,传统的数据库运维方式已经越来越难于满足业务方对数据库的稳定 ...
最新文章
- php checkbox美化,纯CSS3美化radio和checkbox_html/css_WEB-ITnose
- MyBatis学习总结(14)——Mybatis使用技巧总结
- 推荐算法-聚类-层次聚类法
- RabbitMQ Topic exchange
- datatable里添加一个标识列
- ubuntu21.04下终端路径显示优化
- 从 TensorFlow 入门机器学习
- import lombok 报错_Android上使用Lombok和set、get方法告别
- 为什么闲鱼不能搜索python_Python 分析后告诉你闲鱼上哪些商品抢手?
- Jquery Datatable 数据填充报错:requested unknown parameter ‘XXX‘ for row xx, column xx 解决方法
- react native android6+拍照闪退或重启的解决方案
- 转载viewstate(一) 太经典的东西 不得不转载保存下来
- cocos2d-x 之TableView
- java求阶乘不内存溢出_java - Java阶乘GUI - 堆栈内存溢出
- 计算机图片处理器,光学图像处理器
- linuxmint/ubuntu修改主机名hostnam
- 验证码自动识别平台与打码平台的区别
- 谷歌地图api的使用 一
- epub格式电子书剖析
- 浅拷贝copy(“=”)和深拷贝(“copy.deepcopy()”)
热门文章
- python 写入excel 效率_python各种excel写入方式的速度对比
- mysql查看autocommit_我所理解的MySQL(四)事务、隔离级别及MVCC
- python的常量_python常量 (最全常量解析)
- Android对Linux内核的改动你知道多少?
- 《libGDX移动游戏开发从入门到精通》一1.5 其他的一些准备工作
- HP MSA500 G2安装配置
- python tornado返回上一页 读取refer
- windows弹出窗体
- (转)MapReduce源码分析总结
- [Zju 2112][逆序对统计] 线段树(四) {线段树扩展}