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

Golang, mysql:Kesalahan 1040:Terlalu banyak koneksi

sql.Open tidak benar-benar membuka koneksi ke database Anda.

sql.DB memelihara kumpulan koneksi ke database Anda. Setiap kali Anda menanyakan database Anda, program Anda akan mencoba untuk mendapatkan koneksi dari kumpulan ini atau membuat yang baru jika tidak. Sambungan ini kemudian dimasukkan kembali ke dalam kumpulan setelah Anda menutupnya.

Inilah yang rows.Close() tidak. db.QueryRow("...") melakukan hal yang sama secara internal saat Anda memanggil Scan(...) .

Masalah dasarnya adalah Anda membuat terlalu banyak kueri, yang masing-masing membutuhkan koneksi, tetapi Anda tidak menutup koneksi dengan cukup cepat. Dengan cara ini program Anda harus membuat koneksi baru untuk setiap kueri.

Anda dapat membatasi jumlah maksimum koneksi yang digunakan program Anda dengan memanggil SetMaxOpenConns di sql.DB Anda.

Lihat http://go-database-sql.org/surprises.html untuk informasi lebih lanjut.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menginstal phpMyAdmin

  2. mysql2.so:libmysqlclient_r.so.15:tidak dapat membuka file objek bersama:Tidak ada file atau direktori seperti itu

  3. Bagaimana cara memasukkan javascript ke dalam database mysql?

  4. Efisiensi cache kueri

  5. parsing permintaan Pencarian Teks Lengkap yang diketik pengguna ke dalam klausa WHERE MySQL menggunakan PHP