三十九、预处理

简介: 三十九、预处理

一、什么是预处理

预处理可以提高客户端和服务端数据传输的效率。当创建一个预定义 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;
目录
相关文章
|
5月前
|
编译器 C语言
【C初阶】预处理
【C初阶】预处理
|
8月前
|
数据采集 数据可视化 数据挖掘
使用Python实现高效的数据清洗和预处理
数据清洗和预处理是数据分析和挖掘中必不可少的步骤。然而,由于数据来源复杂多样,常常存在缺失、异常、重复等问题,传统的手动处理方式效率低下。本文介绍了如何使用Python编程语言实现高效的数据清洗和预处理,帮助数据分析师和开发者更快速地完成数据处理工作。
|
编译器 C++
C进阶:预处理(下)
C进阶:预处理(下)
90 0
|
存储 编解码 算法
栅格数据矢量化(附有完整代码)
栅格数据矢量化(附有完整代码)
预处理的学习
预处理的学习
67 0
|
自然语言处理 编译器
C进阶:预处理(上)
C进阶:预处理
70 0
|
Linux C语言 C++
【C进阶】——预处理详解(一)
【C进阶】——预处理详解(一)
100 0
|
编译器 Linux C++
【C进阶】——预处理详解(二)
【C进阶】——预处理详解(二)
141 0
|
编译器 C++
c++入门篇之C++ 预处理器
预处理器是一些指令,指示编译器在实际编译之前所需完成的预处理。 所有的预处理器指令都是以井号(#)开头,只有空格字符可以出现在预处理指令之前。预处理指令不是 C++ 语句,所以它们不会以分号(;)结尾。
|
数据采集 机器学习/深度学习 自然语言处理
数据理解与预处理-2|学习笔记
快速学习数据理解与预处理-2
数据理解与预处理-2|学习笔记