Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MyISAM versus InnoDB [closed]

I'm working on a projects which involves a lot of database writes, I'd say (70% inserts and 30% reads). This ratio would also include updates which I consider to be one read and one write. The reads can be dirty (e.g. I don't need 100% accurate information at the time of read).
The task in question will be doing over 1 million database transactions an hour.

I've read a bunch of stuff on the web about the differences between MyISAM and InnoDB, and MyISAM seems like the obvious choice to me for the particular database/tables that I'll be using for this task. From what I seem to be reading, InnoDB is good if transactions are needed since row level locking is supported.

Does anybody have any experience with this type of load (or higher)? Is MyISAM the way to go?

like image 286
user2013 Avatar asked Aug 21 '08 14:08

user2013


People also ask

Apa bedanya jenis MyISAM dan InnoDB?

Perbedaan utama antara MyISAM dan INNODB adalah: MyISAM tidak mendukung transaksi berdasarkan tabel sementara InnoDB mendukung. Tidak ada kemungkinan penguncian tingkat baris, integritas relasional di MyISAM tetapi dengan InnoDB ini dimungkinkan. MyISAM memiliki penguncian tingkat-tabel.

Apa yang dimaksud dengan InnoDB?

InnoDB adalah mesin penyimpanan default untuk MySQL pada MySQL 5.5. Mesin ini menyediakan fitur transaksi standar ACID-compliant, bersama dengan dukungan foreign key (Referential Integrity deklaratif).


1 Answers

I have briefly discussed this question in a table so you can conclude whether to go with InnoDB or MyISAM.

Here is a small overview of which db storage engine you should use in which situation:

                                                  MyISAM   InnoDB ---------------------------------------------------------------- Required full-text search                        Yes      5.6.4 ---------------------------------------------------------------- Require transactions                                      Yes ---------------------------------------------------------------- Frequent select queries                          Yes       ---------------------------------------------------------------- Frequent insert, update, delete                           Yes ---------------------------------------------------------------- Row locking (multi processing on single table)            Yes ---------------------------------------------------------------- Relational base design                                    Yes 

Summary

  • In almost all circumstances, InnoDB is the best way to go
  • But, frequent reading, almost no writing, use MyISAM
  • Full-text search in MySQL <= 5.5, use MyISAM
like image 176
developer99 Avatar answered Oct 04 '22 06:10

developer99