首頁 >後端開發 >PHP問題 >PHP如何實作存取MySQL的查詢逾時

PHP如何實作存取MySQL的查詢逾時

coldplay.xixi
coldplay.xixi原創
2020-08-27 09:16:232908瀏覽

PHP實作存取MySQL的查詢逾時方法:1、修改客戶端,例如mysqli的query程式碼,加入計時器,逾時則回傳;2、修改Mysql中的vio程式碼,因為mysql的網路處理底層都是經過vio的操作。

PHP如何實作存取MySQL的查詢逾時

相關學習推薦:#mysql教學

#PHP實作存取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的網路處理底層都是經過vio的操作

想了解更多相關學習,請關注
php訓練

欄位!
#######

以上是PHP如何實作存取MySQL的查詢逾時的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多