视图:虚拟的表,是一条sql查询的结果集,因此它不包含任何表中任何列和数据,只能用来查询数据;
作用:重用sql 隐藏数据 对数据的类型进行更改(视图返回的数据格式可以与底层表的类型和格式不一样)。
- 特点
- 视图能简化用户操作
- 视图使用户能以多种角度看待同一数据
- 视图对重构数据库提供了一定程度的逻辑独立性
- 视图能够对机密数据提供安全保护
- 适当的利用视图可以更清晰地表达查询
存储过程:存储程序是被存储在服务器中的组合SQL语句,经过创建编译并保存在数据库中,用户可通过存储过程的名字调用执行。存储过程核心思想就是数据库SQL语言层面的封装与复用。使用存储过程可以较少应对系统的业务复杂性,但是会增加数据库服务器系统的负荷,所以在使用的时候需要综合业务考虑。
作用:通过把处理封装在单元中,简化复杂的的操作。提高性能。
- 特点
- 有输入输出参数,可以声明变量,有if/else, case,while等控制语句,通过编写存储过程,可以实现复杂的逻辑功能;
- 函数的普遍特性:模块化,封装,代码复用;
- 速度快,只有首次执行需经过编译和优化步骤,后续被调用可以直接执行,省去以上步骤;
- 缺点
- 不同数据库,语法差别很大,移植困难,换了数据库,需要重新编写;
- 不好管理,把过多业务逻辑写在存储过程不好维护,不利于分层管理,容易混乱,一般存储过程适用于个别对性能要求较高的业务,其它的必要性不是很大;