数据库优化之创建视图

简介:

     视图是保存在数据库中的SELECT查询,可在视图上执行SELECT语句的大多数命令。创建视图的原因有两个:一是出于安全考虑,用户不必看到整个数据库结构,而隐藏部分数据;二是符合用户日常业务逻辑,使其对数据更容易理解


什么是视图?

    视图是另一种查看数据库中一个或多个表中数据的方法。视图是一个虚拟表,通常由一个或多个表的行和列的子集创建的,它并不是数据库存储的数据值的集合,它的行和列都来自查询引用的表。在执行时,视图直接显示表中的数据。

    定义视图的查询可基于一个或多个表,也可基于其他视图、当前数据库和其他数据库

杨书凡31.png

视图的作用

* 筛选表中的行

* 防止未经许可的用户访问敏感数据

* 将多个物理数据表抽象为一个逻辑数据表


使用视图的好处

1. 对于最终用户

* 结果更容易理解,可将列名改为有意义的名称

* 获得数据更容易,无需掌握多表查询的T-SQL语句,通过视图即可查看    

2. 对于开发人员

* 限制检索更容易,创建视图时,将对用户保密的列排查在外

* 维护应用程序更方便


创建视图

    在SQL Server中,创建视图有两种方法:使用SSMS和使用T-SQL语句

1. 使用SSMS创建视图

(1)展开数据库,右击视图,选择新建视图

杨书凡33.png 


(2)选择需要的表,并选择希望查看的列,填写别名,还可以修改下面的T-SQL语句,执行

杨书凡34.png


(3)最后选择保存,可以像打开普通表一样使用它


2. 使用T-SQL语句创建视图

创建视图的语法如下:

create  view  视图名  as  T-SQL语句


例如:为网络班的学生创建视图,只显示姓名、性别、班级

杨书凡37.png


使用视图的注意事项

  1. 每个视图中可以使用多个表

  2. 与查询相似,一个视图可以嵌套另一个视图,但最好不要超过三层

  3. 视图定义中的SELECT语句不能包括下列内容

* ORDER BY语句,除非在SELECT语句的选择列表也有一个TOP子句

* INTO关键字

* 引用临时表或表变量











本文转自 杨书凡 51CTO博客,原文链接:http://blog.51cto.com/yangshufan/2046384,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
5月前
|
关系型数据库 MySQL 数据库连接
Django数据库配置避坑指南:从初始化到生产环境的实战优化
本文介绍了Django数据库配置与初始化实战,涵盖MySQL等主流数据库的配置方法及常见问题处理。内容包括数据库连接设置、驱动安装、配置检查、数据表生成、初始数据导入导出,并提供真实项目部署场景的操作步骤与示例代码,适用于开发、测试及生产环境搭建。
244 1
|
1月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
183 6
|
2月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
541 5
|
4月前
|
机器学习/深度学习 SQL 运维
数据库出问题还靠猜?教你一招用机器学习优化运维,稳得一批!
数据库出问题还靠猜?教你一招用机器学习优化运维,稳得一批!
162 4
|
3月前
|
存储 人工智能 数据库
视图是什么?为什么要用视图呢?数据库视图:定义、特点与应用
本文三桥君深入探讨数据库视图的概念与应用,从定义特点到实际价值全面解析。视图作为虚拟表具备动态更新、简化查询、数据安全等优势,能实现多角度数据展示并保持数据库重构的灵活性。产品专家三桥君还分析了视图与基表关系、创建维护要点及性能影响,强调视图是提升数据库管理效率的重要工具。三桥君通过系统讲解,帮助读者掌握这一常被忽视却功能强大的数据库特性。
992 0
|
8月前
|
SQL 关系型数据库 MySQL
如何优化SQL查询以提高数据库性能?
这篇文章以生动的比喻介绍了优化SQL查询的重要性及方法。它首先将未优化的SQL查询比作在自助餐厅贪多嚼不烂的行为,强调了只获取必要数据的必要性。接着,文章详细讲解了四种优化策略:**精简选择**(避免使用`SELECT *`)、**专业筛选**(利用`WHERE`缩小范围)、**高效联接**(索引和限制数据量)以及**使用索引**(加速搜索)。此外,还探讨了如何避免N+1查询问题、使用分页限制结果、理解执行计划以及定期维护数据库健康。通过这些技巧,可以显著提升数据库性能,让查询更高效流畅。
|
9月前
|
关系型数据库 数据库 数据安全/隐私保护
云数据库实战:基于阿里云RDS的Python应用开发与优化
在互联网时代,数据驱动的应用已成为企业竞争力的核心。阿里云RDS为开发者提供稳定高效的数据库托管服务,支持多种数据库引擎,具备自动化管理、高可用性和弹性扩展等优势。本文通过Python应用案例,从零开始搭建基于阿里云RDS的数据库应用,详细演示连接、CRUD操作及性能优化与安全管理实践,帮助读者快速上手并提升应用性能。
|
10月前
|
缓存 NoSQL JavaScript
Vue.js应用结合Redis数据库:实践与优化
将Vue.js应用与Redis结合,可以实现高效的数据管理和快速响应的用户体验。通过合理的实践步骤和优化策略,可以充分发挥两者的优势,提高应用的性能和可靠性。希望本文能为您在实际开发中提供有价值的参考。
261 11