什么是存储过程?

先看一下百度词条给的答案

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。

通俗讲

存储过程是一个预编译的SQL语句,比如一些场景的sql比较复杂,并且需要经常使用或者多次使用的。存储过程的优点是说只需创建一次编译一次,以后在该程序中就可以多次直接调用。如果一个sql是经常需要操作的,并且逻辑不容易改变,使用存储过程比单纯SQL语句执行要快,因为sql每次查询而且都需要编译。而且网络开销也大,存储过程只需要传一个名字,在数据库调用就行了,而且这样程序可移植高

什么时候用存储过程,小项目有没有必要用?

小项目要要不要用 要看这个项目的重要性,以及团队各方面的配置
因为存储过程的可维护性比较差,可读性也比较差
如果对效率没有特别苛刻的要求,可以选择不用

存储过程的优势也是比较明显的

存储过程的劣势

  • 可维护性差和可读性查

    设计逻辑便更以及编写都比sql语句复杂,没有sql语句灵活
    存储过程需要专门的数据库开发人员进行维护,但实际情况是,往往由程序开发员人员兼职

综上所述 要不要用还是要根据实际情况衡量

什么是数据库存储过程?相关推荐

  1. mysql过程异常处理_mysql数据库存储过程异常处理

    14.1.4  定义条件和处理程序 定义条件和处理程序是事先定义程序执行过程中可能遇到的问题.并且可以在处理程序中定义解决这些问题的办法.这种方式可以提前预测可能出现的问题, 并提出解决办法.这样可以 ...

  2. oracle数据库存储过程中NO_DATA_FOUND不起作用解决

    oracle数据库存储过程中NO_DATA_FOUND不起作用 1.首先创建一个表lengzijiantest,表中只有一个字段f_id ? 1 2 3 4 5 [cpp] CREATE TABLE ...

  3. JDBC对MySQL数据库存储过程的调用

    一.MySQL数据库存储过程: 1.什么是存储过程 存储过程(英文:Stored Procedure)是在大型数据库系统中,为了完毕特定功能而编写的一组的SQL语句集.存储过程经编译存储在数据库中.用 ...

  4. 使用shell脚本调用mysql数据库存储过程,并设置定时任务

    本来是要mysql数据库中创建事件任务来,定时执行存储过程,做数据传输的...后来由于种种原因,就使用crontab来定时执行,调用存储过程. 实现这个数据传输分为两步: 第一步:编写shell脚本调 ...

  5. mysql数据库存储过程及调用方法

    mysql数据库存储过程及调用方法 mysql5.0以后就支持存储过程了,目前mysql的6.0Alpha版也已经推出.6.0不仅支持大型数据库如oracle等的绝大部分功 能,如存储过程.视图.触发 ...

  6. 数据库:存储过程_数据科学过程:摘要

    数据库:存储过程 Once you begin studying data science, you will hear something called 'data science process' ...

  7. jdbc存储过程mysql_JDBC对MySQL数据库存储过程的调用

    1.什么是存储过程 存储过程(英文:Stored Procedure)是在大型数据库系统中,为了完成特定功能而编写的一组的SQL语句集.存储过程经编译存储在数据库中,用户通过指定存储过程的名字并给出参 ...

  8. 易语言 存储过程 mysql_在易语言中调用MS SQL SERVER数据库存储过程(Transact-SQL)方法总结...

    作者:liigo 日期:2010/8/25 Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接 ...

  9. java调用数据库存储过程的接口是_JAVA调用数据库存储过程

    JAVA调用数据库存储过程 2014/11/6 18:20:14  可怜的猫  程序员俱乐部  我要评论(0) 摘要:packagecom.ljq.test;importjava.sql.Connec ...

  10. 让你提前认识软件开发(28):数据库存储过程中的重要表信息的保存及相关建议...

    第2部分 数据库SQL语言 数据库存储过程中的重要表信息的保存及相关建议 1. 存储过程中的重要表信息的保存 在非常多存储过程中,会涉及到对表数据的更新.插入或删除等,为了防止改动之后的表数据出现故障 ...

最新文章

  1. 零基础python书籍推荐-非IT行业,零基础自学Python,选什么书?
  2. tcp/ip 协议栈Linux源码分析三 IPv4分片报文重组分析三
  3. javascript创建类方法汇总(包含es6语法)
  4. ActiveMQ目录结构
  5. 读懂python代码_Python面试|一文让你读懂if __name__==’__main__’的含义
  6. Python中出现 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 12-13
  7. 【英语学习】【Daily English】U15 Culture L01 You'll be used to life here before long
  8. source insight 深色主题配置文件
  9. 解决SurfaceView调用setZOrderOnTop(true)遮挡其他控件的问题
  10. Rhythmk 学习 Hibernate 03 - Hibernate 之 延时加载 以及 ID 生成策略
  11. QBASIC语言程序设计 谭浩强 pdf
  12. 高德Mapabc地图标注 基础篇
  13. 怎样选择拨号vps?
  14. android类似iphone照片幻灯片,8个最佳照片编辑应用让你的Android或iPhone照片看起来不可思议...
  15. 【大咖来了】---中国HBase技术社区MeetUp
  16. vs2015软件系统开源_2015年最佳开源游戏
  17. 2017CS231n笔记_S11分割,定位,检测
  18. 3月21日短线黑马牛股公开验证
  19. 如何使用kindle
  20. Verilog语言之向量vector和解压缩数组unpacked array

热门文章

  1. 微信分享 链接地址文档
  2. 读取cpu温度的api_温度读取vc++获取cpu温度
  3. WIN7打开远程桌面连接设置
  4. 清华天才王垠和阿里 P10 面试官赵海平神仙打架后,我们来说说技术面试中的该与不该!...
  5. ubuntu系统重装恢复步骤
  6. EXCEL合并单元格自动行高
  7. python和javaweb开发哪个更火_python和Java哪个更适合web开发?
  8. typedef定义结构体数组类型
  9. uint和int的区别
  10. mybatis-plus关联查询,一对一、一对多。