PHP實現(xiàn)訪問MySQL的查詢超時方法:1、 修改客戶端,比如mysqli的query代碼,加入定時器,超時則返回;2、修改Mysql中的vio代碼,因為mysql的網(wǎng)絡處理底層都是經(jīng)過vio的操作。
【相關學習推薦:mysql教程】
PHP實現(xiàn)訪問MySQL的查詢超時方法:
在libmysql中, 是提供了MYSQL_OPT_READ_TIMEOUT
設置項的, 并且libmysql中提供了設置相關設置項的API, mysql_options:
目前只有mysqli支持
<?php $mysqli = mysqli_init(); $mysqli->options(11 /*MYSQL_OPT_READ_TIMEOUT*/, 1); $mysql->real_connect(***);
不過, 因為在libmysql中有重試機制(嘗試一次, 重試倆次), 所以, 最終我們設置的超時閾值都會三倍于我們設置的值.
也就是說, 如果我們設置了MYSQL_OPT_READ_TIMEOUT為1, 最終會在3s以后超時結束. 也就是說, 我們目前能設置的最短超時時, 就是3秒…
1. 修改客戶端,比如 mysqli 的 query 代碼,加入定時器,超時則返回
2. 修改 Mysql 中的vio代碼,因為mysql的網(wǎng)絡處理底層都是經(jīng)過vio的操作
想了解