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

InnoDB atau MyISAM - Mengapa tidak keduanya?

Anda dapat memiliki tabel MyISAM dan InnoDB dalam database yang sama. Apa yang akan Anda temukan, ketika memiliki tabel yang sangat besar, MyISAM akan menyebabkan masalah kunci tabel. Apa yang akhirnya dilakukan adalah, itu mengunci seluruh tabel untuk satu transaksi, yang sangat buruk jika Anda memiliki banyak pengguna yang menggunakan situs web Anda. mis. Jika Anda memiliki pengguna yang mencari sesuatu di situs Anda dan kueri membutuhkan waktu beberapa menit untuk diselesaikan, tidak ada pengguna lain yang dapat menggunakan situs Anda selama periode tersebut karena seluruh tabel dikunci.

InnoDB di sisi lain menggunakan penguncian tingkat baris, artinya, baris itu adalah satu-satunya baris yang dikunci dari tabel selama transaksi. InnoDB bisa lebih lambat dalam pencarian karena tidak menawarkan pencarian teks lengkap seperti MyISAM, tapi itu bukan masalah besar jika Anda membandingkannya dengan penguncian tingkat tabel dari MyISAM. Jika Anda menggunakan InnoDB, seperti banyak situs besar, maka Anda dapat menggunakan mesin pencari sisi server seperti Sphinx untuk pencarian teks lengkap. Atau Anda bahkan bisa menggunakan tabel MyISAM untuk melakukan pencarian seperti f00 disarankan. Saya pribadi merekomendasikan InnoDB terutama karena fitur penguncian tingkat baris, tetapi juga karena Anda dapat menerapkan pencarian teks lengkap dengan banyak cara lain.

Pada dasarnya, jika Anda memiliki aplikasi papan pesan dengan banyak pilihan, sisipan, serta pembaruan, InnoDB mungkin merupakan pilihan yang umumnya tepat. Tetapi jika Anda tidak membuat sesuatu seperti itu (atau hal lain apa pun dengan pengguna terdaftar) dan pekerjaan Anda kebanyakan dengan konten statis (atau lebih banyak membaca daripada menulis), maka Anda dapat menggunakan MyISAM.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah model Django menggunakan fungsi MySQL?

  2. Tipe Data SQL untuk menyimpan versi build

  3. Bagaimana cara melewati kolom dalam file CSV saat mengimpor ke tabel MySQL menggunakan LOAD DATA INFILE?

  4. Tangani restart mysql di SQLAlchemy

  5. PHP Kesalahan fatal kehabisan memori