大家好,为什么阿里巴巴Java开发手册里要求禁止使用存储过程相信很多的网友都不是很明白,包括mysql不建议用存储过程也是一样,不过没有关系,接下来就来为大家分享关于为什么阿里巴巴Java开发手册里要求禁止使用存储过程和mysql不建议用存储过程的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
本文目录
为什么阿里巴巴Java开发手册里要求禁止使用存储过程
存储过程,最早的概念据我推断是来自于Oracle,最早oracle是只有函数的概念,依稀记得是oracle8还是9才加的存储过程package的概念,用于解决函数过于碎片化、不具备复杂的多逻辑功能,同时便于文件管理加入的概念。到后期基本所有数据库也都有了存储过程,如:mysql,sybase等。
存储过程是基于数据库底层的语法,与数据库是相互依存的,且各个类型数据库语法都不一样。
Java语言在很大一部分的优势就是为了解耦合和可移植性,所以也有经典的dao模式,目的也就是把数据库和业务层分开。如果直接调用存储过程,混淆了业务和数据库分层,打破了Java模式设计的初衷。而且,如果用存储过程写,比如原来用Oracle数据库,现在客户要求改成免费的Mysql数据库,意味着基本所有的存储过程全部要重写,基本不具备可移植性。
当然,万事没有绝对。阿里的整套体系庞大,数据库的能力强大,中间件的主机也足够横向扩展。像我们一般的项目没那么多的主机和算力可搭配,有时碰上复杂的报表或复杂的逻辑,也不得不借用数据库存储过程来实现。
一般来说,项目上数据库主机的配置比web主机相对强大得多,且存储过程在数据库操作逻辑上天然的快,在web主机不能横向扩展的情况下,也只能借用存储过程来实现。当然,用存储过程来处理也是占比很少,逼不得已情况下才使用。
mysql 存储过程的应用
mysql存储过程就像复杂的SQL语句,又像函数,你可以在存储过程里执行数据库操作,也可以返回查询结果。
使用存储过程只需要在SQL语句中加入相应的参数就行了,这样传送的字符比较少,还可以减少注入式攻击。不过有时候为了移植的方便,我们经常不使用存储过程。
mysql创建存储过程中为什么会出现学段名错误的语法
在MySQL中,存储过程中的语法错误可能是由于以下原因之一导致的:
-学段名拼写错误。
-学段名大小写不正确。
-学段名与表名或列名重复。
-学段名包含特殊字符。
-学段名长度超过了MySQL的最大限制。
mysql在安装过程中哪些说法是正确的
MySQL是一种关系型数据库,可以安装window和Linux两种版本。Linux安装过程中要下载对应的版本,要解压到指定目录。修改my.cnf文件指定mysql数据存储位置。
创建mysql组和mysql用户并授权,接着启动mysql服务。
查看root初始密码路径:/var/log/mysqld.log登录mysql-uroot-p输入密码登录,可以操作数据库查询等。
文章到此结束,如果本次分享的为什么阿里巴巴Java开发手册里要求禁止使用存储过程和mysql不建议用存储过程的问题解决了您的问题,那么我们由衷的感到高兴!