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网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算
 官方软件产品操作指南 (170)
官方软件产品操作指南 (170)