前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >三十九、预处理

三十九、预处理

作者头像
喵叔
发布2021-07-06 14:07:06
6260
发布2021-07-06 14:07:06
举报
一、什么是预处理

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

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

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

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

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

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 条评论
热度
最新
推荐阅读
目录
  • 一、什么是预处理
  • 二、预处理的优势
  • 三、预处理语句语法
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档