• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > PHP访问MySQL查询超时处理的方法

PHP访问MySQL查询超时处理的方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了php访问mysql数据库,php访问mysql,php mysql教程,php 连接mysql,php连接mysql数据库等相关知识,希望本文的分享对您有所帮助
目前两个客户端扩展库连接超时可以设置选项来操作,比如mysqli:

 

手册里只有这么四个选项

跟踪 mysqli 的扩展源代码发现它底层调用的是 libmysqlclient 的 mysql_options:

php-5.2.8/ext/mysqli/mysqli_api.c

并且在mysqli的PHP扩展中就只导出了几个变量:

php-5.2.8/ext/mysqli/mysqli.c

大概看了一下 libmysqlclient 的代码,发现其实它自带是有读写超时设置的:

mysql-5.1.30/sql-common/client.c

因为它自己定义了很多操作选项,只是php扩展里没有:

mysql-5.1.30/include/mysql.h

看看mysql中的读写超时是如何实现的:

mysql-5.1.30/sql-common/client.c

读写超时真正操作的地方,超时处理这里重试了两次,还是写死了:

mysql-5.1.30/sql/net_serv.cc

现在基本得出了结论:

按照上面查看代码来看,目前PHP针对MySQL查询超时以下限制:

1. 超时设置单位为秒,最少配置1秒

2. 但mysql底层的read会重试两次,所以实际会是 3 秒

 

重试两次 + 自身一次 = 3倍超时时间。

 

那么就是说最少超时时间是3秒,不会低于这个值,对于大部分应用来说可以接受,但是对于小部分应用需要优化。
现在我们来看看如果我们自己要设置超时,我们自己压入 MYSQL_OPT_READ_TIMEOUT 也是可以达到读写超时效果的,写一段代码来测试一下:
echo "quer

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • PHP访问MySQL查询超时处理的方法
  • Mysql 数据库访问类

相关文章

  • 2017-05-11mysql中explain用法详解
  • 2017-05-11MySQL优化之如何查找SQL效率低的原因
  • 2018-12-05access 数据库自启动困难解决方法
  • 2018-12-05mysql中的用户id如何使用nginx访问日志来记录?
  • 2018-12-05mysql全文本搜索使用教程
  • 2018-12-05win2003 安装 sqlserver 2005的方法
  • 2018-12-05sql中or语法介绍
  • 2018-12-05MySQL使用两种方法解决远程连接失败的问题
  • 2017-05-11mysql error 1130 hy000:Host'localhost'解决方案
  • 2017-05-11mysql 误删除ibdata1之后的恢复方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 几种基础的jquery选择器
    • MySQL如何通过实例化对象参数查询数据 ?(源代码)
    • 关于mysqldump的实例详解
    • mysql 查看版本的方法图文演示
    • mysql xtrabackup 备份恢复实现分享
    • mysql数据库备份及恢复命令 mysqldump,source的用法
    • MSSQL 提取汉字实现语句
    • MySQL基础教程5 — 操作符
    • mysql数据分组:过滤分组
    • MySQL中curdate()函数的代码案例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有