视图:虚拟的表,是一条sql查询的结果集,因此它不包含任何表中任何列和数据,只能用来查询数据;

作用:重用sql 隐藏数据 对数据的类型进行更改(视图返回的数据格式可以与底层表的类型和格式不一样)。

  • 特点
  • 视图能简化用户操作
  • 视图使用户能以多种角度看待同一数据
  • 视图对重构数据库提供了一定程度的逻辑独立性
  • 视图能够对机密数据提供安全保护
  • 适当的利用视图可以更清晰地表达查询

存储过程:存储程序是被存储在服务器中的组合SQL语句,经过创建编译并保存在数据库中,用户可通过存储过程的名字调用执行。存储过程核心思想就是数据库SQL语言层面的封装与复用。使用存储过程可以较少应对系统的业务复杂性,但是会增加数据库服务器系统的负荷,所以在使用的时候需要综合业务考虑。

作用:通过把处理封装在单元中,简化复杂的的操作。提高性能。

  • 特点
  • 有输入输出参数,可以声明变量,有if/else, case,while等控制语句,通过编写存储过程,可以实现复杂的逻辑功能;
  • 函数的普遍特性:模块化,封装,代码复用;
  • 速度快,只有首次执行需经过编译和优化步骤,后续被调用可以直接执行,省去以上步骤;
  • 缺点
  • 不同数据库,语法差别很大,移植困难,换了数据库,需要重新编写;
  • 不好管理,把过多业务逻辑写在存储过程不好维护,不利于分层管理,容易混乱,一般存储过程适用于个别对性能要求较高的业务,其它的必要性不是很大;