1.现象:1.执行MySQL存储过程在测试环境只要0.1s左右,到了生产环境qu却要5s左右,偏差很大。 2.非常简单的存储过程函数,处理的数据只有8条。 3.把存储过程里的查询单独拿出来查询速度很快,但是放在存储过程函数中就很慢。 2.原因:数据库表中的字段是utf-8,而数据库字符集后来改成了u ...
分类:
数据库 时间:
2020-06-11 21:21:17
阅读次数:
113
存储过程 语法 DELIMITER $$ CREATE PROCEDURE `employees`.`a`(参数列表) BEGIN sql1; sql2; ... END$$ DELIMITER ; 语法说明 DELIMITER $$:定义语句结束标记,存储过程体中,每条SQL都使用“;”结束,所有 ...
分类:
数据库 时间:
2020-06-10 21:06:35
阅读次数:
93
#用户变量 set @t = now(); SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p') #使用SET初始化用户变量 SET @ab = 'abcee'; SELECT @ab := 'fghi'; SELECT @ab; #使用SELECT初始化用户变 ...
分类:
数据库 时间:
2020-06-08 00:25:26
阅读次数:
95
今天在用navicat创建MYSQL存储过程的时候,总是出现错误,错误信息如下. 1303-Can 't create a PROCEDURE from within another stored routine.这个错误信息,比较难以理解,于是仔细检查存储过程内容,也没什么问题呀,代码如下: CR ...
分类:
数据库 时间:
2020-05-17 16:00:36
阅读次数:
88
DELIMITER// #防止mysql遇到分号(;)就执行,换成//,后面遇到//才执行。 CREATE PROCEDURE setAccountIdFrameId() #创建名为setAccountIdFrameId存储过程 BEGIN # 声明变量 DECLARE accountids INT ...
分类:
数据库 时间:
2020-05-12 20:41:12
阅读次数:
99
1、定义变量 2、定义游标 当sql需要对查询出来的多条数据进行循环处理时,这时候就需要用游标来处理。 3、if-then-else 4、case 5、while-endwhile 6、repeat-end repeat repeat在执行操作后检查结果,而while则是执行前进行检查。repeat ...
分类:
数据库 时间:
2020-04-29 01:30:18
阅读次数:
94
MySQL 中,单个 Store Procedure(SP) 不是原子操作,而 Oracle 则是原子的。如下的存储过程,即使语句2 失败,语句 1 仍然会被 commit 到数据库中: create table testproc(id int(4) primary key, name varcha ...
分类:
数据库 时间:
2020-03-27 00:45:22
阅读次数:
77
-- ************************************************ -- 存储过程 -- ************************************************ -- 创建存储过程 drop procedure if exists pld ...
分类:
数据库 时间:
2020-03-16 21:47:04
阅读次数:
62
含义:一组预先编译好的SQL语句的集合,理解成批处语句(一组语句) 存储过程函数: 类似于java中的方法 把实现的语句封装到方法中,对外值暴露方法名 好处: 1.提高代码重用性 2.简化操作 3.减少了编译次数:编译过一次 就不用编译了 4.减少了和服务器连接次数,提高了效率 简单,安全,性能高 ...
分类:
数据库 时间:
2020-02-29 13:01:05
阅读次数:
78
接下来就要学习公司比较看重的存储过程和函数了 存储过程和函数,类似Java中的方法 好处: 1.提高代码的重用性 2.简化操作 存储过程(一般是在公司中比较有经验的人来进行编写) 含义:一组预先编译好的sql语句的集合,理解成批处理语句 1.提高代码的重用性 2.简化操作 3.减少了编译次数并且减少 ...
分类:
数据库 时间:
2020-02-25 00:33:07
阅读次数:
84