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

Ruby, Rails:permata mysql2, apakah ada yang menggunakan permata ini? Apakah stabil?

mysql2 dimaksudkan sebagai pengganti yang lebih modern untuk mysql yang ada permata, yang telah basi untuk sementara waktu sekarang. Saya juga mendengar bahwa penulisnya tidak mendukungnya lagi dan malah menyarankan semua orang menggunakan versi Ruby murninya karena kompatibel dengan lebih banyak implementasi Ruby (tetapi banyak lebih lambat).

Masalah pertama dengan mysql permata itu tidak melakukan casting tipe apa pun di C, itu memberi Anda kembali string Ruby yang kemudian harus Anda ubah menjadi tipe Ruby yang tepat. Melakukan itu di ruby ​​​​murni sangat lambat, dan menciptakan objek di heap yang tidak pernah perlu ada di tempat pertama. Dan seperti yang kita semua tahu, GC Ruby adalah alasan utama kelambatannya. Jadi sebaiknya hindari dan lakukan sebanyak mungkin dalam C murni.

Kedua adalah memblokir seluruh ruby VM saat menghubungkan, mengirim pertanyaan dan menunggu tanggapan, dan bahkan menutup koneksi. mysqlplus pasti membantu dengan masalah ini, tetapi hanya untuk mengirim pertanyaan sejauh yang saya tahu.

mysql2 bertujuan untuk memecahkan masalah ini sambil menjaga API tetap sederhana. Eric Wong (penulis Unicorn) telah menyumbangkan beberapa tambalan luar biasa yang membuat hampir semuanya tidak memblokir dan/atau merilis GVL di Ruby. Mysql2::Result class mengimplementasikan Enumerable jadi jika Anda tahu cara menggunakan Array, Anda tahu cara menggunakannya.

Saya hanya mengetahui beberapa orang yang menggunakannya dalam produksi sekarang, tetapi sedang dievaluasi di Twitter, WorkingPoint, dan UserVoice juga.

Saya juga sedang dalam pembicaraan dengan Yehuda tentang itu menjadi yang direkomendasikan/default untuk Rails 3 saat dikirimkan. Beberapa teknik dan pengoptimalannya juga akan dibawa ke do_mysql DataObjects pengemudi juga segera.

Driver ActiveRecord seharusnya cukup solid saat ini. Yang harus Anda lakukan adalah menginstal permata, dan mengubah nama adaptor Anda di database.yml menjadi mysql2 .

Jika Anda tertarik untuk menggunakannya, cobalah. Saya akan segera melakukan perbaikan jika Anda menemukan masalah;)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ruang Android - Menangani Daftar Objek dalam Objek dan hasil kueri

  2. Bagaimana cara mengurutkan waktu ( Dalam AM / PM ) dalam SQL?

  3. Spring Mvc Hibernate Encoding/Sql impor multi-baris

  4. PHP Laravel:Tidak ada koneksi yang dapat dibuat karena mesin target secara aktif menolaknya

  5. Bagaimana cara menemukan hasil paling umum di kolom di tabel MySQL saya?