Connector/NET 8.0+ 提供 20+ 進階參數,本文詳解 12 個高頻實戰參數。
| 參數 | 說明 | 預設 | 建議值 |
|---|---|---|---|
Connection Timeout | 建立連線最長等待秒數 | 15 | 5~10 (快速失敗) |
Default Command Timeout | 單條 SQL 執行最長秒數 (0=無限) | 30 | 30~60 (防止卡死) |
Pooling | 啟用連線池 | true | true (生產必開) |
Min Pool Size | 池中最小保持連線數 | 0 | 5~10 (預熱) |
Max Pool Size | 池中最大連線數 | 100 | 100~200 (視併發) |
Connection Lifetime | 連線存活秒數,超過回收重建 | 0 (永久) | 300~600 (防止殭屍連線) |
Ignore Prepare | 忽略預處理語句 (避免 Server-side prepare Bug) | false | true (舊版驅動) |
Charset | 連線字元集 | utf8mb4 | utf8mb4 |
SslMode | SSL 模式:None/Preferred/Required/VerifyCA/VerifyFull | Preferred | Required (生產) |
Protocol | socket/tcp/pipe/memory | tcp | tcp (跨機) / socket (本機) |
Allow User Variables | 允許 @user_var 在 SQL 中使用 | false | true (需用時) |
Treat Tiny As Boolean | TINYINT(1) 映射為 bool | true | true |
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;
Max Pool Size、程式碼是否 using / Dispose() 正確釋放Connection Lifetime,MySQL 端 wait_timeout (預設 8h) 需大於此值Ignore Prepare=true 或升級驅動 8.0.28+Charset=utf8mb4、資料庫/表同為 utf8mb4記住:**連接字串是效能與穩定的第一道防線**,上線前必須在測試環境跑負載驗證池參數。