Prepared Statements
Prepared Statements很像存储过程,是一种运行在后台的SQL语句集合,我们可以从使用 prepared statements 获得很多好处,无论是性能问题还是安全问题。
Prepared Statements 可以检查一些你绑定好的变量,这样可以保护你的程序不会受到“SQL注入式”攻击。当然,你也可以手动地检查你的这些变量,然而,手动的检查容易出问题,而且很经常会被程序员忘了。当我们使用一些framework或是ORM的时候,这样的问题会好一些。
在性能方面,当一个相同的查询被使用多次的时候,这会为你带来可观的性能优势。你可以给这些Prepared Statements定义一些参数,而MySQL只会解析一次。
虽然最新版本的MySQL在传输Prepared Statements是使用二进制形势,所以这会使得网络传输非常有效率。
当然,也有一些情况下,我们需要避免使用Prepared Statements,因为其不支持查询缓存。但据说版本5.1后支持了。
在PHP中要使用prepared statements,你可以查看其使用手册:mysqli 扩展 或是使用数据库抽象层,如: PDO.
01 // 创建 prepared statement
02 if ($stmt = $mysqli->prepare("SELECT username FROM user WHERE state=?")) {
03
04 // 绑定参数
05 $stmt->bind_param("s", $state);
06
07 // 执行
08 $stmt->execute();
09
10 // 绑定结果
11 $stmt->bind_result($username);
12
13 // 移动游标
14 $stmt->fetch();
15
16 printf("%s is from %s\n", $username, $state);
17
18 $stmt->close();
19 }
相关推荐
MySQL性能优化的最佳20+条经验
MySQL性能优化的最佳经验
MySQL性能优化的最佳20多条经验分享
NULL 博文链接:https://zhengdl126.iteye.com/blog/1149759
mysql性能调优最佳实践 ppt格式 就是讲怎么优化mysql的。
MySQL性能优化的最佳经验.zip
1. 为查询缓存优化你的查询 3. 当只要一行数据时使用 LIMIT 1 4. 为搜索字段建索引 5. 在 Join 表的时候使用相当类型的例,并将其索引 8.
MySQL性能优化的最佳实践,适用于mysql性能研究分析解决方案参考
MySQL性能优化的21个最佳实践.zip
MySQL性能优化的21个最佳实践,今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于 Web 应用尤 其明显。关于数据库的性能,这并不只是 DBA 才需要担心的事,而这更是我们 程序员需要去关注的事情。当我们...
1. 为查询缓存优化你的查询 2. EXPLAIN 你的 SELECT 查询 3. 当只要一行数据时使用 LIMIT 1 4. 为搜索字段建索引 5. 在 Join 表的时候使用相当类型的例,并将其索引 6. 千万不要 ORDER BY RAND() 7. 避免 SELECT * 8...
mysql 数据库操作 优化性能 提升效率最佳的方法。。。。。
MySQL性能优化的21个最佳实践 | MySQL性能优化需要从多个方面综合考虑,包括数据库设计、索引优化、查询优化、并发控制、缓存配置和服务器硬件配置等。通过综合运用这些优化策略,可以有效提升MySQL数据库的性能和...