加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL运维实战之PHP访问MySQL你使用对了吗

发布时间:2019-03-12 08:00:51 所属栏目:MySql教程 来源:阿里云云栖社区
导读:大家都知道,slow query系统做的好不好,直接决定了解决slow query的效率问题 一个数据库管理平台,拥有一个好的slow query系统,基本上就拥有了解锁性能问题的钥匙 但是今天主要分享的并不是平台,而是在平台中看到的奇葩指数五颗星的slow issue 好了,关

验证两种prepare模式

  •  服务端prepare模式( ATTR_EMULATE_PREPARES = false) 
  1. <?php  
  2. $dbms='mysql'; //数据库类型  
  3. $host='xxx'; //数据库主机名  
  4. $dbName='test'; //使用的数据库  
  5. $user='xx'; //数据库连接用户名  
  6. $pass='123456'; //对应的密码  
  7. $dsn="$dbms:host=$host;dbname=$dbName";  
  8. try {  
  9.  $pdo = new PDO($dsn, $user, $pass); //初始化一个PDO对象  
  10.  $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);  
  11.  echo "----- prepare begin -----  
  12. ";  
  13.  $stmt = $pdo->prepare("select * from test.chanpin where id = ?");  
  14.  echo "----- prepare after -----  
  15. ";  
  16.  $stmt->execute([333333]);  
  17.  echo "----- execute after -----  
  18. ";  
  19.  $rs = $stmt->fetchAll();  
  20. } catch (PDOException $e) {  
  21.  die ("Error!: " . $e->getMessage() . "<br/>");  

strace -s200 -f php mysql1.php 跟踪

大家可以看到这个模式下,prepare的时候,是将query+占位符 发送给服务端的

  •  本地prepare模式 (ATTR_EMULATE_PREPARES = true ) 
  1. <?php  
  2. $dbms='mysql'; //数据库类型  
  3. $host='xx'; //数据库主机名  
  4. $dbName='test'; //使用的数据库  
  5. $user='xx'; //数据库连接用户名  
  6. $pass='123456'; //对应的密码  
  7. $dsn="$dbms:host=$host;dbname=$dbName";  
  8. try {  
  9.  $pdo = new PDO($dsn, $user, $pass); //初始化一个PDO对象  
  10.  $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,true);  
  11.  echo "----- prepare begin -----  
  12. ";  
  13.  $stmt = $pdo->prepare("select * from test.chanpin where id = ?");  
  14.  echo "----- prepare after -----  
  15. ";  
  16.  $stmt->execute([333333]);  
  17.  echo "----- execute after -----  
  18. ";  
  19.  $rs = $stmt->fetchAll();  
  20. } catch (PDOException $e) {  
  21.  die ("Error!: " . $e->getMessage() . "<br/>");  

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读