Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL कनेक्शन पूल गणना

आपके कोड में कई चीजें हैं।

  • पहले Option Strict चालू करें . फ़ंक्शन को एक स्ट्रिंग वापस करने के लिए घोषित किया गया है, लेकिन आप Object को वापस करने का प्रयास कर रहे हैं Return result . के साथ
  • सब कुछ जो एक Dispose . लागू करता है विधि का उपयोग Using . के अंदर किया जाना चाहिए खंड मैथा। यह आपको किसी वस्तु को घोषित करने और आरंभ करने, उसका उपयोग करने और अंत में उसका निपटान करने की अनुमति देता है।
  • Parameters.Add AddWithValue . से बेहतर है . बाद में डीबी प्रदाता को डेटा के आधार पर डेटाटाइप का अनुमान लगाने के लिए मजबूर करता है।
  • लोड के आधार पर और क्या उस विधि का बहुत अधिक उपयोग किया जाता है, आप डेटा को DataTable पर लोड कर सकते हैं और डीबी को बार-बार पूछने के बजाय उस पर लुकअप करें।

मूल मुद्दा यह है (शायद) कि आप DBCommand . का निपटान नहीं करते हैं वस्तु। आपके द्वारा उपयोग किए जाने वाले कंस्ट्रक्टर को देखें:

Dim cmdx As New MySqlCommand(cmdTextx, connx)

DBCommand ऑब्जेक्ट कनेक्शन के संदर्भ में पारित किया गया है। भले ही आप स्पष्ट रूप से कनेक्शन का निपटान करते हैं, cmdx अभी भी इसका एक संदर्भ है, और यह निस्तारण नहीं किया गया। Using ब्लॉक यह सुनिश्चित करना आसान बनाते हैं कि चीजों का निपटारा हो गया है:

Dim sql = "Select `Cert` From `Courses` WHERE `ID`[email protected]"

Using dbCon As New MySqlConnection(MySQLConnStr)
    Using cmd As New MySqlCommand(sql, dbCon)
        cmd.Parameters.Add("@Id", MySqlDbType.Int32).Value = CourseTypeID
        dbCon.Open()
        Dim result = cmd.ExecuteScalar

        If result Is Nothing OrElse result Is DBNull.Value Then
            Return String.Empty
        Else
            Return result.ToString()
        End If
    End Using           ' close, dispose of conn
End Using               ' dispose of DBCommand

इंडेंटेशन को कम करने के लिए, आप आइटम्स को एक Using . में "स्टैक" कर सकते हैं ब्लॉक करें:

Using connx As New MySqlConnection(MySQLConnStr),
    cmd As New MySqlCommand(sql, connx)
    ...
End Using

पहली पंक्ति के अंत में अल्पविराम नोट करें।

मुझे आश्चर्य होगा अगर यह आपके रिसाव का कारण नहीं था (बेशक सभी कोड को बदलने की आवश्यकता होगी)।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android कक्ष - किसी वस्तु में वस्तुओं की सूची को संभालना और क्वेरी परिणाम

  2. MySQL में करंट वीक डेटा कैसे प्राप्त करें

  3. पीडीओ mysql_num_rows या mssql_num_rows के बराबर

  4. MySQL क्वेरी ऑर्डर कुछ मूल्यों द्वारा दूसरों से पहले

  5. MySQL व्यूज को ऑप्टिमाइज़ कैसे करें