Mysql關於長連線短連線優劣比較
連線完成後,如果你沒有後續的動作,這個連線就處於空閒狀態,你可以在 show processlist 命令中看到它的 Command 列顯示為“Sleep”的這一行,客戶端如果太長時間沒動靜,聯結器就會自動將它斷開。這個時間是由引數 wait_timeout 控制的,預設值是 8 小時。
長連線:指連線成功後,如果客戶端持續有請求,則一直使用同一個連線。
優勢
減少建立連線的動作,因為建立連線是會消耗資源的
劣勢
連線斷開才會釋放資源,全部使用長連線後,可能會發現有些時候 MySQL 佔用記憶體漲得特別快,這是因為 MySQL 在執行過程中臨時使用的記憶體是管理在連線物件裡面的。這些資源會在連線斷開的時候才釋放。所以如果長連線累積下來,可能導致記憶體佔用太大,被系統強行殺掉(OOM),從現象看就是 MySQL 異常重啟了。
如何解決長連線的劣勢
1、定期斷開長連線。透過判斷連線佔用的記憶體量的大小,達到閥值後,斷開連線
2、在每次執行一個比較大的操作後執行 mysql_reset_connection 來重新初始化連線資源,這個過程不需要重連和重新做許可權驗證,但是會將連線恢復到剛剛建立完時的狀態。
短連線:指每次執行完很少的幾次查詢就斷開連線,下次查詢再重新建立一個。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2723627/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 長連線和短連線
- 關於Spring的JDBC連線mysql(與傳統jdbc比較)SpringJDBCMySql
- 輪詢、長輪詢、短連線、長連線區別對比
- http的長連線和短連線HTTP
- 長連線和短連線的使用
- JAVA之長連線、短連線和心跳包Java
- HTTP長連線、短連線究竟是什麼?HTTP
- 12、Swoole 中 TCP、UDP 和長連線、短連線TCPUDP
- SpringBoot中關於 HikariPool、Druid及常用連線池的比較Spring BootUI
- 關於 Homestead 連線 MySQL 問題MySql
- 菜鳥學網路之 —— 長連線和短連線
- 一文讀透HTTP的長連線和短連線HTTP
- 關於面向連線與面向無連線
- Socket程式設計-長連線與短連線,心跳(keep-alive)程式設計Keep-Alive
- mysql階段04 連線工具, 連線方式, 啟動關閉mysqlMySql
- MySQL表連線及其優化MySql優化
- MYSQL語法:左連線、右連線、內連線、全外連線MySql
- MySQL筆記3——內連線/外連線、多表連線MySql筆記
- MySQL 連線相關引數MySql
- mysql INNER JOIN、LEFT JOIN、RIGHT JOIN;內連線(等值連線)、左連線、右連線MySql
- Python 連線 MySQLPythonMySql
- python連線MySQLPythonMySql
- IDEA連線MySQLIdeaMySql
- GO 連線 MySQLGoMySql
- C連線MySQLMySql
- JDBC連線mysqlJDBCMySql
- HTTP長連線HTTP
- PDO 長連線
- python 怎麼連線 sql server,不是連線 mysqlPythonServerMySql
- 連線mysql時提示is not allowed to connect不允許連線MySql
- 內連線、左連線、右連線
- CodeSmith 一、連線MysqlMITMySql
- JPA配置mysql連線MySql
- kettle連線本地MYSQLMySql
- Java JDBC連線MYsqlJavaJDBCMySql
- 使用pyMySql 連線mysqlMySql
- MySQL連線數管理MySql
- 06 建立MySQL連線MySql