sql >> Database teknologi >  >> RDS >> Mysql

MySQL Connection Pool Antal

Der er flere ting i din kode.

  • Tænd først Option Strict . Funktionen er erklæret at returnere en streng, men du forsøger at returnere Object med Return result
  • Alt som implementerer en Dispose metode bør bruges i en Using blok. Dette giver dig mulighed for at erklære og initialisere et objekt, bruge det og bortskaffe det til sidst.
  • Parameters.Add er bedre end AddWithValue . Det senere tvinger DB-udbyderen til at gætte datatypen baseret på dataene.
  • Afhængigt af belastningen og om metoden bruges meget, kan du indlæse dataene til en DataTable og lav opslag på det i stedet for at forespørge i databasen igen og igen.

Kerneproblemet er (sandsynligvis), at du ikke bortskaffer DBCommand objekt. Se på den konstruktør du bruger:

Dim cmdx As New MySqlCommand(cmdTextx, connx)

DBCommand objekt sendes en reference til forbindelsen. Selvom du udtrykkeligt disponerer over forbindelsen, cmdx har stadig en henvisning til det, og det blev ikke bortskaffet. Using blokke gør det nemt at være sikker på, at tingene er bortskaffet:

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

For at reducere indrykning kan du "stable" elementer i én Using blokere:

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

Bemærk kommaet i slutningen af ​​den første linje.

Jeg ville blive overrasket, hvis dette ikke var årsagen til din lækage (selvfølgelig skulle al koden ændres).




  1. Hvordan bruger (installerer) dblink i PostgreSQL?

  2. MariaDB JSON_TYPE() Forklaret

  3. Sådan eksporteres databaseskema i Oracle til en dumpfil

  4. OLTP-ydelse siden PostgreSQL 8.3