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

Penyatuan koneksi vs koneksi bertahan mysqli

Sebenarnya istilah pengumpulan koneksi dan koneksi persisten merujuk ke hal yang sama dalam kasus mysqli dalam PHP.

Koneksi terus-menerus dalam hal ini mengacu pada koneksi MySQL yang terbuka dari skrip PHP yang tetap terbuka setelah skrip selesai dieksekusi, untuk digunakan kembali dalam beberapa eksekusi selanjutnya.

Pengumpulan koneksi berarti ada kumpulan koneksi persisten yang dikelola oleh PHP. Satu koneksi idle dari pool ini diberikan ke skrip PHP yang ingin terhubung ke MySQL dan dikembalikan ke pool ketika skrip selesai.

Anda mungkin bertanya-tanya mengapa kita membutuhkan kumpulan koneksi MySQL sama sekali, mengapa kita tidak menggunakan hanya satu koneksi persisten untuk semua skrip?

Ada dua alasan untuk ini:

  • PHP membuat kumpulan koneksi MySQL berdasarkan host/port/username/password digunakan. Jika satu skrip ingin terhubung ke MySQL dengan beberapa host/port/username/password kombinasi, PHP mencari koneksi persisten yang menganggur yang memiliki nilai yang sama. Jika tidak ditemukan, maka koneksi persisten baru dibuat dengan host/port/username/password ini kombinasi. Jadi kita membutuhkan setidaknya koneksi persisten yang berbeda sebanyak host/port/username/password yang berbeda nilai yang digunakan oleh semua skrip.
  • Anda tidak dapat menjalankan dua perintah SQL pada satu koneksi MySQL secara bersamaan. Ini bisa terjadi ketika dua skrip PHP dijalankan secara bersamaan. Ketika dua skrip ingin berkomunikasi dengan MySQL pada saat yang sama, dua koneksi MySQL persisten dibuat. Jumlah koneksi persisten di pool sama dengan jumlah terakhir skrip PHP paralel maksimum yang dieksekusi, atau sama dengan batas atas yang ditetapkan di php.ini .

Pemberitahuan penting:

Kumpulan koneksi MySQL (dan kumpulan koneksi lainnya) hanya dapat ada jika PHP dijalankan sebagai plugin server web . Kumpulan tidak berfungsi saat bekerja dalam mode cgi cepat atau dengan cara lain apa pun saat PHP yang dapat dieksekusi berakhir setelah eksekusi skrip.

Sunting:Penyatuan koneksi MySQL dapat digunakan dalam mode cgi cepat PHP jika server web dikonfigurasi untuk menggunakan kembali satu proses cgi cepat PHP untuk beberapa permintaan. Jika proses cgi cepat PHP dikonfigurasi untuk keluar setelah melayani satu permintaan, maka semua koneksi MySQL ditutup.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Banyak tabel atau banyak database?

  2. Bagaimana NOT LIKE Bekerja di MySQL

  3. Kasus penggunaan MySQL `FORCE INDEX`?

  4. Cara Mendapatkan Catatan Antara 2 Tanggal di MySQL

  5. kirim email dengan catatan pengambilan mysql