1、概念:预先编译好的sql语句集合 4、BEGIN…END 1、条件语句调优 栈内存溢出:程序所要求的栈深度过大导致。 count()计数 排序order by limit 使用
MySQL的存储过程
2、提高效率:简化代码的重用性,简化操作,减少了编译次数并且减少了和数据库服务器的链接次数。
3、存储过程的参数列表参数模式 参数名 参数类型 参数模式:in:需要传入方传值 out:该参数可以作为返回值 inout:继需要参数值,也有返回值
(1)每条sql需要分号结尾
(2)存储过程结尾需要DELIMITER(DELIMITER$$)
5、调用
call 存储过程名(实参列表)
6、定义变量
DECLEAR 变量名 变量类型 1. 声明语句结束符:DELIMITER $$ 或 DELIMITERo 2. 存储过程开始和结束:`BEGIN...END` 3. 变量赋值:SET @p_in=1 4. 变量定义:DECLARE 1_INT int unsigned default 40000` 5. 创建存储过程、存储函数: 6. create procedure 存储过程名(参数) 例: create procedure in_param(in p_in int ) #in 表示输入参数 p_in参数名 int 数据类型 例2: create procedure out_param(out p_out varchar)` 8. 存储过程体:`create function 存储函数名(参数)` 9. 过程体格式 开始于begin结束end 可以多层嵌套 BEGIN BEGIN statements END END
MySQL调优:索引调优、sql语句调优
(1)where之后的条件,尽量不使用函数
(2)like之后使用最左检索,例:like “ab%” 而非 like “%b%”
2、索引调优
(1)索引的添加要注意,不要添加在常做修改的字段上
(2)多使用符合索引
(3)使用explian先查看索引的type级别,进行级别的升高
3、复杂sql优化
尽量简化成子查询,避免复杂的混合查询应用程序内存溢出问题解决
堆内存溢出: 分清 内存泄露还是 内存容量不足。泄露则看对象如何被 GC Root 引用。不足则通过 调大 -Xms,-Xmx参数。
持久带内存溢出:Class对象未被释放,Class对象占用信息过多,有过多的Class对象。 通过-XX:PermSeize和-XX:MaxPermSeize限制方法区大小
无法创建本地线程:总容量不变,堆内存,非堆内存设置过大,会导致能给线程的内存不足。
该问题来自该博客MySQL内置的函数
avg()平均数
max()最大
min()最小
sum()求和
单行函数:针对单行数据
length()单行数据长度
concat()拼接字段
reverse()字符串反转
trim()去掉空格
sumstr()截取字符串
strcmp()匹配字符,匹配返回0
now()当前时间
date_format(date,“yy年MM月dd日”) 日期格式转换
datediff() 返回两者的差值
if()判断
ifnull()判断是否为空数据库排序、分组、分页、链表查询
升序ASC
降序DESC
分组group by
链表
内连接:inner join … on
左外:left join …on
右外:right join … on
on 后的条件:不管是否成立都会有返回值
where 后的条件不成立则无返回值
limit 2,3;从2开始,查3条数据
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算