14-MySQL预处理

在学习一门技能的过程中,有些是为了完成任务,有些是为了更好的完成任务,预处理就是为了让你更好的完成任务

一.预处理-基本概念

1.预处理:
所谓的预处理技术,最初也是由MySQL提出的一种减轻服务器压力的一种技术!
传统mysql处理流程
1, 在客户端准备sql语句
2, 发送sql语句到MySQL服务器
3, MySQL服务器对sql语句进行解析(词法,语法), 然后编译, 然后执行该sql语句
4, 服务器将执行结果返回给客户端
弊端:
- 哪怕语句是相同的, 还是每次执行之前都会先解析语句,再执行
- 哪怕语句大部分内容都是相同的, 每次还是要传递重复语句
预处理的基本策略:
1, 在客户端准备预处理sql语句
2, 发送预处理sql语句到MySQL服务器

  1. MySQL服务器对预处理sql语句进行解析(词法,语法), 但不会执行
  2. 在客户端准备相关数据
  3. MySQL服务器对数据和预处理sql编译, 然后执行该sql语句
  4. 服务器将执行结果返回给客户端
    优点:
    - 只对sql语句进行了一次解析
    - 重复内容大大减少(网络传输更快)
    By 极客江南

二.预处理-实现

image.png

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 极客江南

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、MySQL架构与历史 A.并发控制 1.共享锁(shared lock,读锁):共享的,相互不阻塞的。 2.排...
    阿休阅读 4,688评论 0 37
  • 今天看到一位朋友写的mysql笔记总结,觉得写的很详细很用心,这里转载一下,供大家参考下,也希望大家能关注他原文地...
    信仰与初衷阅读 4,750评论 0 30
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,008评论 2 89
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 7,848评论 5 116
  • 去年雪中的污点艰难找寻生命的希望欲望如火被大雪掩埋成一无所有我关注了你就在门前的台阶看到你饥饿的眼神透着失望 你可...
    走在路上的沉默阅读 316评论 16 24