在学习一门技能的过程中,有些是为了完成任务,有些是为了更好的完成任务,预处理就是为了让你更好的完成任务
一.预处理-基本概念
1.预处理:
所谓的预处理技术,最初也是由MySQL提出的一种减轻服务器压力的一种技术!
传统mysql处理流程
1, 在客户端准备sql语句
2, 发送sql语句到MySQL服务器
3, MySQL服务器对sql语句进行解析(词法,语法), 然后编译, 然后执行该sql语句
4, 服务器将执行结果返回给客户端
弊端:
- 哪怕语句是相同的, 还是每次执行之前都会先解析语句,再执行
- 哪怕语句大部分内容都是相同的, 每次还是要传递重复语句
预处理的基本策略:
1, 在客户端准备预处理sql语句
2, 发送预处理sql语句到MySQL服务器
- MySQL服务器对预处理sql语句进行解析(词法,语法), 但不会执行
- 在客户端准备相关数据
- MySQL服务器对数据和预处理sql编译, 然后执行该sql语句
- 服务器将执行结果返回给客户端
优点:
- 只对sql语句进行了一次解析
- 重复内容大大减少(网络传输更快)
By 极客江南
二.预处理-实现
1.准备预处理sql语句
insert into stu values(null, 'lnj', 13, 100, '武汉');
prepare 预处理名称 from 'sql语句';
prepare stmt from 'select * from stu where id=?;';
2.执行预处理sql语句
execute 预处理名称 using 参数;
set @id=10;
execute stmt using @id;
如何在MySQL中定义变量
全局变量: @变量名称
局部变量:
给变量赋值: set @变量名称=值;
By 极客江南