Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Jumlah Pool Koneksi MySQL

Ada beberapa hal dalam kode Anda.

  • Pertama aktifkan Option Strict . Fungsi dideklarasikan untuk mengembalikan string, tetapi Anda mencoba mengembalikan Object dengan Return result
  • Semuanya yang mengimplementasikan Dispose metode harus digunakan di dalam Using memblokir. Ini memungkinkan Anda untuk mendeklarasikan dan menginisialisasi objek, menggunakannya, dan membuangnya di akhir.
  • Parameters.Add lebih baik daripada AddWithValue . Nanti memaksa Penyedia DB untuk menebak tipe data berdasarkan data.
  • Bergantung pada beban dan apakah metode itu sering digunakan, Anda dapat memuat data ke DataTable dan lakukan pencarian tentang itu daripada meminta DB berulang-ulang.

Masalah intinya adalah (mungkin) Anda tidak membuang DBCommand obyek. Lihat konstruktor yang Anda gunakan:

Dim cmdx As New MySqlCommand(cmdTextx, connx)

DBCommand objek dilewatkan referensi ke koneksi. Meskipun Anda secara eksplisit memutuskan koneksi, cmdx masih memiliki referensi untuk itu, dan itu tidak dibuang. Using blok membuatnya mudah untuk memastikan barang-barang sudah dibuang:

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

Untuk mengurangi lekukan, Anda dapat "menumpuk" item menjadi satu Using blok:

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

Perhatikan koma di akhir baris pertama.

Saya akan terkejut jika ini bukan penyebab kebocoran Anda (tentu saja semua kode perlu diubah).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penyesuaian Kinerja Kueri MySQL

  2. Tujuan SQLAlchemy melalui MySQLdb

  3. MySql:atur variabel dengan daftar

  4. tipe data mysql untuk menyimpan bulan dan tahun saja

  5. Bagaimana cara mengubah Collation Kolom tanpa kehilangan atau mengubah data?