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

mac2024-03-14  28

六星教育 - java-mysql优化1909

什么是视图?视图的优缺点什么是触发器?触发器的作用触发器的一些场景什么是存储过程?对于存储过程的看法存储过程的优缺点物化视图

 

什么是视图?

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

视图的优缺点

优点:

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.代码执行快(不是查询快) -> 预编译 不用再编译2.耦合度低安全性减少网络通信频率

缺点:

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

 

代码执行快的原因:

物化视图

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

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

3.创建存储过程

4.定时执行

 

最新回复(0)