课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习软件编程开发的相关技术知识,而本文我们就通过案例分析来简单了解一下,数据库存储过程优缺点分析。
存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合。想要实现相应的功能时,只需要调用这个存储过程就行了(类似于函数,输入具有输出参数)。
优点:
预先编译,而不需要每次运行时编译,提高了数据库执行效率。
封装了一系列操作,对于一些数据交互比较多的操作,相比于单独执行SQL语句,可以减少网络通信量。
具有可复用性,减少了数据库开发的工作量。
安全性高,可以让没有权限的用户通过存储过程间接操作数据库。
更易于维护。
缺点:
可移植性差,存储过程将应用程序绑定到了数据库上。
开发调试复杂。
修改复杂,需要重新编译,有时还需要更新程序中的代码以更新调用。
Drop/Delete/Truncate的区别?
Delete用来删除表的全部或者部分数据,执行delete之后,用户需要提交之后才会执行,会触发表上的DELETE触发器(包含一个OLD的虚拟表,可以只读访问被删除的数据),DELETE之后表结构还在,删除很慢,一行一行地删,因为会记录日志,可以利用日志还原数据;
Truncate删除表中的所有数据,这个操作不能回滚,也不会触发这个表上的触发器。操作比DELETE快很多(直接把表drop掉,再创建一个新表,删除的数据不能找回)。如果表中有自增(AUTO_INCREMENT)列,则重置为1。
Drop命令从数据库中删除表,所有的数据行,索引和约束都会被删除。不能回滚,不会触发触发器。
触发器是什么?
触发器(TRIGGER)是由事件(比如INSERT/UPDATE/DELETE)来触发运行的操作(不能被直接调用,不能接收参数)。在数据库里以独立的对象存储,用于保证数据完整性(比如可以检验或转换数据)。
有哪些约束类型?
约束(Constraint)类型:
主键(PrimaryKey)约束
约束(Unique)
检查约束
非空约束
外键(ForeignKey)约束
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。