首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >三十九、预处理

三十九、预处理

作者头像
喵叔
发布2021-07-06 14:07:06
发布2021-07-06 14:07:06
7240
举报
文章被收录于专栏:喵叔's 专栏喵叔's 专栏
一、什么是预处理

预处理可以提高客户端和服务端数据传输的效率。当创建一个预定义 SQL 时客户端向服务器发送一个 SQL 语句的原型;服务器接收到这个 SQL 语句后,解析并存储这个 SQL 语句的部分执行计划,并返回给客户端一个 SQL 语句句柄,以后每次执行这个 SQL 语句,客户端都会使用这个句柄。

二、预处理的优势
  1. 搞笑执行重复的 SQL :服务器只需要解析一次 SQL;在服务器上的某些优化器的工作只需要执行一次,它会缓存一部分执行计划。
  2. 减少网络开销:对于重复执行的 SQL 语句,每次调用的使用只需要将参数发送到服务器段,这样就减少了网络开销。
  3. 安全:预处理语句不用在应用程序中对特殊字符进行转义,减少了 SQL 注入的风险。
三、预处理语句语法

MySQL 支持在不使用二进制传输协议的情况下直接以 SQL 的方式使用预处理。语法如下:

代码语言:javascript
复制
# 定义预处理语句
PREPARE stmt_name FROM preparable_stmt;
# 执行预处理语句
EXCUTE stmt_name [USING @var_name [,@var_name]..];
# 删除
{DELLOCATE|DROP} PREPARE stmt_name;

例如:更具学号查询学生的信息

代码语言:javascript
复制
prepare selectStudent from 'select * from student where id=?';
# 查询学号为56学生的信息学
SET @id=56;
exceute selectStudent using @id;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/06/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、什么是预处理
  • 二、预处理的优势
  • 三、预处理语句语法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档