01-mysql基础,试图,存储过程,触发器

六星教育 - java-mysql优化1909

  1. 什么是视图?
  2. 视图的优缺点
  3. 什么是触发器?
  4. 触发器的作用
  5. 触发器的一些场景
  6. 什么是存储过程?
  7. 对于存储过程的看法
  8. 存储过程的优缺点
  9. 物化视图

 

什么是视图?

视图是由数据库中的一个表或多个表导出的虚拟表,是一种虚拟存在的表,方便用户对数据的操作。

视图的优缺点

优点:

1.包子数据的安全 -> 开发人员 =》 x项目经理考虑(用户的一些隐私信息,一些重要数据)

2.对于开发程序员来说 -> 代码封装是一种含义(一些sql很长)

3.可以规避一些失误操作(写操作 -> binlog 数据恢复)

4.降低耦合(在程序中一些查询慢建立索引也不能很好解决,可以考虑分表,但是分表会造成对这个表涉及到的代码进行维护,用视图可以很好解决)

缺点:

1.写的操作 一些特点的视图不能写 分组,排序

2.视图不利于优化

  • 什么是触发器

主要是通过事件触发而被执行的,当表中的某些内容发生改变(增、删、改)的时候,系统会自动触发代码并执行

触发器 - 事件 =》 js

  • 触发器的作用

1.可在写入数据前,强制检验或者转换数据(保证护数据安全)

2.触发器发生错误时,前面用户已经执行成功的操作会被撤销,类似事务的回滚

  • 触发器的一些场景

1.银行项目中回去使用 =》 触发器 =》 SQL写的事件

2.点击文章关注之后,进行排名

  • 什么事存储过程?

数据库 SQL 语言层面的代码封装与重用

  • 对于存储过程的看法

1.存储过程对mysql来说不友好,对oracle、sqlserver来说推荐(mysql难以调试和扩展,更没有移植性)

2.sqlserver、oracle期望所有业务交由存储过程实现(移植性特别好,底层比mysql好)

3.相当于mysql的函数

  • 存储过程的优缺点

优点:

  1. 1.代码执行快(不是查询快) -> 预编译 不用再编译
  2. 2.耦合度低
  3. 安全性
  4. 减少网络通信频率

缺点:

  1. 1.不能使用索引
  2. 2.修改不方便 -> 代码不好调试

 

代码执行快的原因:

  • 物化视图

1.查询操作 =》转换为视图 =》避免之后有所更改

2.根据视图结果创建对应的物理视图(记录表)

3.创建存储过程

4.定时执行

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值