MySQL⾯试题-存储过程与触发器
mysql面试题sql存储过程与函数
什么是存储过程?有哪些优缺点?
存储过程是⼀个预编译的SQL语句,优点是允许模块化的设计,就是说只需要创建⼀次,以后在该程序中就可以调⽤多次。如果某次操作需要执⾏多次SQL,使⽤存储过程⽐单纯SQL语句执⾏要快。
session翻译成中文优点
1)存储过程是预编译过的,执⾏效率⾼。
2)存储过程的代码直接存放于数据库中,通过存储过程名直接调⽤,减少⽹络通讯。
怎么做app推广和宣传3)安全性⾼,执⾏存储过程需要有⼀定权限的⽤户。
4)存储过程可以重复使⽤,减少数据库开发⼈员的⼯作量。
缺点
1)调试⿇烦,但是⽤ PL/SQL Developer 调试很⽅便!弥补这个缺点。
2)移植问题,数据库端代码当然是与数据库相关的。但是如果是做⼯程型项⽬,基本不存在移植问题。
sort家居3)重新编译问题,因为后端代码是运⾏前编译的,如果带有引⽤关系的对象发⽣改变时,受影响的存储过程、包将需要重新编译(不过也可以设置成运⾏时刻⾃动编译)。
4)如果在⼀个程序系统中⼤量的使⽤存储过程,到程序交付使⽤的时候随着⽤户需求的增加会导致数据结构的变化,接着就是系统的相关问题了,最后如果⽤户想维护该系统可以说是很难很难、⽽且代价是空前的,维护起来更⿇烦。
触发器
1. 什么是触发器?触发器的使⽤场景有哪些?
触发器是⽤户定义在关系表上的⼀类由事件驱动的特殊的存储过程。触发器是指⼀段代码,当触发某个事件时,⾃动执⾏这些代码。
使⽤场景
· 可以通过数据库中的相关表实现级联更改。
· 实时监控某张表中的某个字段的更改⽽需要做出相应的处理。
· 例如可以⽣成某些业务的编号。
· 注意不要滥⽤,否则会造成数据库及应⽤程序的维护困难。
· ⼤家需要牢记以上基础知识点,重点是理解数据类型CHAR和VARCHAR的差异,表存储引擎InnoDB和MyISAM的区别。
2. MySQL中都有哪些触发器?
在MySQL数据库中有如下六种触发器:
· Before Insert
· After Insert
· Before Update
· After Update
web前端项目实战· Before Delete
· After Delete
分布式系统三大特性· ⼩编分类整理了许多java进阶学习材料和BAT⾯试题,需要资料的请加QQ:731611386 就能领取2019年java进阶学习资料和BAT⾯试题以及《Effective Java》(第3版)电⼦版书籍。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论