MYsql准备语句
MySQL支持准备语句,即在执行真正的查询前,将查询的模式先发送到服务器进行解析,将解析和优化的结果保存下来,在一些编程库中支持这种功能,通过准备语句可以很高效的在客户端和服务器端进行数据发送。
准备语句中,将?作为参数,例如:
INSERT INTO people(last_name,first_name) values(?,?);
Mysql将把一个状态句柄发送给客户端,客户端根据状态句柄把每个问号对应的值发送到服务器执行查询,具体方式取决与编程语言
准备语句具有以下优点:
1.只需解析一次查询
2.缓存了部分执行计划
3.使用二进制发送参数,速度更快
4.只发送参数,减少网络流量
5.参数被保存在服务器缓冲区,无需在内存中到处拷贝数据
除了函数库,MySQL也有准备语句的sql接口,例如:
mysql> set @sql = 'select * from people where last_name = ?';
Query OK, 0 rows affected (0.00 sec)
mysql> PREPARE pre_test FROM @sql;
Query OK, 0 rows affected (0.00 sec)
Statement prepared
mysql> SET @name ='zz11';
Query OK, 0 rows affected (0.00 sec)
mysql> EXECUTE pre_test USING @name;
+-----------+------------+------------+--------+
| last_name | first_name | dod | gender |
+-----------+------------+------------+--------+
| zz11 | ss | 0000-00-00 | m |
+-----------+------------+------------+--------+
1 row in set (0.01 sec)
通过这种方法,可以在存储过程内实现一种类似“动态SQL”的效果。但注意这里SQL接口使用的并不是二进制协议。
准备语句具有一些局限:
1.只针对一个连接;
2.不能使用5.0之前的缓存
3.不能在存储函数内使用
4.如果忘记销毁,可能在服务器端产生资源泄漏,并且有一个全局参数限定存储语句数量。
分享到:
相关推荐
MySQL语句汇总及重要笔记,汇总了数据库创建,相关配置等资料
MySQL语句笔记.doc
MySQL笔记及常用SQL语句
这里有mysql的增删改查基本语句,完全是自己看视频总结的,比较适合新手快速使用mysql
笔记当中对SQL语句进行了详细的介绍,对数据库的创建,表的创建,数据库的查询,表内容的查询进行了十分详细的介绍,并且也附上了详细的代码供阅读者使用
带书签目录,每一个知识点都附带有语句代码和运行截图,跟着笔记学习3天时间足够吃透MySQL基础,这是带印记的
mysql 学习基础笔记 .Mysql 基础操作 1.1 mysql表复制 1.2 mysql索引 1.3 mysql试图 1.4 mysql 内置函数 1.4.1 字符串函数 1.4.2 数学函数 1.5 mysql预处理语句 1.6 mysql事务处理 1.7 mysql存储 1.8 ...
2. 能够安装MySQL数据库 3. 能够启动,关闭及登录MySQL 4. 能够使用SQL语句操作数据库 5. 能够使用SQL语句操作表结构 6. 能够使用SQL语句进行数据的添加修改和删除的操作 7. 能够使用SQL语句简单查询数据
记的视频来自于:...我在视频的基础上做了一些修改:比如说视频中可能有些不是太严谨但是被我发现了的,或者在弹幕中我看到有人提出疑问的,再或者一些我自己的见解,我都会有说明
自己做的笔记,初学者和复习者可以看下,很有用,有兴趣的可以看一下,有详细的查询语句什么的
MYSQL增删改查笔记,属于基础类的,有需要的朋友可以下载。
该笔记记录了详细的mysql各个知识点,包括数据的类型,表的创建及操作,数据库的创建和操作,...以及平时需要使用到的各种数据库语句,可以说该笔记集合了学习及提供mysql语句于一体的功能,让你免去自己写sql的操作。
安装部署 备份恢复 主备复制 读写分离 HA架构 监控审计 压力测试 性能优化 自动化运维 ==数据的存储方式 ... A.数据库管理系统(DataBase Management System, DBMS): ORACLE、MySQL、DB2 ...MySQL 开源 MariaDB
韩顺平j2ee-JDBC与MySQL学习笔记
个人学习MySQL的一套学习笔记,记录了我所学的各种MySQL语句及其知识要点,采用思维导图的方式记录,逻辑清晰,分类准确,方便查找所需的知识点,也方便随时打开查阅,可以拿来复习、学习、或者查阅相应语句,也可以...
MySQL数据库笔记主要是java中使用的语句
MySQL学习笔记(含基础、运维、进阶三部分) MySQL学习笔记(含基础、运维、进阶三部分) MySQL学习笔记(含基础、运维、进阶三部分) 包含了我学习 MySQL 过程中的笔记和资源,从入门到进阶的内容都有涉及。通过...
在进行高级MySQL笔记时,需要深入了解数据库的内部机制和优化技巧,以提高数据库性能和效率。索引优化:索引是提高数据库查询速度的重要工具。可以通过分析查询语句和表结构,合理地设计和使用索引,避免全表扫描,...
MySQL Server中的核心组件有 连接器:负责对接客户端提交的连接请求 分析器:对发送过来的语句进行词法分析 和语法分析 优化器: 基于CBO的方式来对语句进行基础优化,并规定执行路径 执行器: 用来根据优化后的语句...