mysql ping實現資料庫重連

2021-06-20 04:58:11 字數 935 閱讀 1389

實際工作中遇到上一次資料庫訪問和下一次資料庫訪問超過wait_timeout的情況, 此時就會報mysql has gone away的錯誤.

利用mysql_ping可以解決:

1 現在資料庫抽象層加入重連功能:

/**

* 重新連線資料庫

*/private function reconnect()

/*** 檢查資料庫連線是否可用,如果不可用嘗試重新連線

*/private function checkconnect()

}

2 然後在查詢語句前加入檢測是否需要重連

/**

* 執行sql

* * @param string $sql

* @param bool use_mas 是否使用主鏈結

* @return 記錄集

*/public function query($sql,$forece_mas_link = false) }}

}}

$forece_mas_link && $this->_memcache && $this->_memcache->deltable($this->_sql_table_arr[0]) && $this->setforcemasarr($this->_sql_table_arr);

$this->_res = mysql_query($sql,$this->_link);

$this->_fetch_from_memcache = false;

if(((defined('debug') && debug)||(defined('is_xmlrpc') && is_xmlrpc)) && !$this->_res)

$this->_query_count++;

}

資料庫去重

資料庫資料去重方法 假設現在資料庫中有乙個人員表 user 表中包括 主鍵id,姓名name 身份證號碼id number等字段。由於程式的的原因,後來發現表中有許多理論上重複的資料 例如姓名 和身份證號相同的資料 現在要求根據身份證號碼和姓名去除表中的重複資料。select max id from...

資料庫重連

4.2.10 資料庫自動重連 dbcp使用apache的物件池objectpool作為連線池的實現,在構造genericobjectpool時,會生成乙個內嵌類evictor,實現自runnable介面。如果 timebetweenevictionrunsmillis大於0,每過 timebetwe...

資料庫資料去重方法

1.2個結果進行union 時,也可以去重 2.group by 也可以去重 below is a reprint of others 假設現在資料庫中有乙個人員表 user 表中包括 主鍵id,姓名 身份證號碼 等字段。由於程式的的原因 好來發現表中有許多理論上重複的資料 即姓名 和身份證號相同的...