首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL Connector/NET 進階連接字串參數詳解

     編輯:MySQL 綜合教學

Connector/NET 8.0+ 提供 20+ 進階參數,本文詳解 12 個高頻實戰參數。

進階參數速查

參數說明預設建議值
Connection Timeout建立連線最長等待秒數155~10 (快速失敗)
Default Command Timeout單條 SQL 執行最長秒數 (0=無限)3030~60 (防止卡死)
Pooling啟用連線池truetrue (生產必開)
Min Pool Size池中最小保持連線數05~10 (預熱)
Max Pool Size池中最大連線數100100~200 (視併發)
Connection Lifetime連線存活秒數,超過回收重建0 (永久)300~600 (防止殭屍連線)
Ignore Prepare忽略預處理語句 (避免 Server-side prepare Bug)falsetrue (舊版驅動)
Charset連線字元集utf8mb4utf8mb4
SslModeSSL 模式:None/Preferred/Required/VerifyCA/VerifyFullPreferredRequired (生產)
Protocolsocket/tcp/pipe/memorytcptcp (跨機) / socket (本機)
Allow User Variables允許 @user_var 在 SQL 中使用falsetrue (需用時)
Treat Tiny As BooleanTINYINT(1) 映射為 booltruetrue

連接池最佳實踐


Server=host;Database=db;Uid=u;Pwd=p;
Pooling=true;
Min Pool Size=10;
Max Pool Size=200;
Connection Lifetime=300;
Connection Timeout=5;
Default Command Timeout=60;
Charset=utf8mb4;
SslMode=Required;

疑難排查

  • Pool 耗盡:檢查 Max Pool Size、程式碼是否 using / Dispose() 正確釋放
  • 殭屍連線:設定 Connection Lifetime,MySQL 端 wait_timeout (預設 8h) 需大於此值
  • Prepared Statement 洩漏:開啟 Ignore Prepare=true 或升級驅動 8.0.28+
  • 中文亂碼:確認 Charset=utf8mb4、資料庫/表同為 utf8mb4

記住:**連接字串是效能與穩定的第一道防線**,上線前必須在測試環境跑負載驗證池參數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved