Aktualizacja

Od roku 2010 trochę się już zmieniło w tej kwestii. Stan obecny (5.6-rc1) najlepiej opisuje poniższy post:
http://dimitrik.free.fr/blog/archives/11-01-2012_11-30-2012.html
W skrócie, InnoDB jest szybsze praktycznie w każdym elemencie. Pora najwyższa zapomnieć o MyISAM. A teraz wracamy do oryginalnego wpisu.

 

Pisząc poprzedni post dotyczący wydajności wykonałem serię testów wydajności obu silników. Poniżej zamieszczam wyniki tych testów, wykonywane były one przy pomocy sysbencha na tabeli wielkości 10 milionów rekordów. Dało to ok. 2GB danych dla MyISAM i 2,3GB danych dla InnoDB. Serwer MySQL, na którym uruchamiane były zapytania działał z następującą wersją silnika XtraDB (czyli InnoDB na sterydach, prosto od Percony):

mysql> SHOW VARIABLES LIKE 'innodb_version';
+----------------+------------+
| Variable_name  | Value      |
+----------------+------------+
| innodb_version | 1.0.8-11.2 |
+----------------+------------+
1 row in set (0.00 sec)

Pierwsza seria testów wykonana była z następującymi parametrami:

sysbench --test=oltp --mysql-user=root --oltp-table-size=10000000 --num-threads=128 --max-requests=1000000 --mysql-table-engine=myisam --mysql-db=sbtest1 --myisam-max-rows=20000000 --oltp-read-only=on --oltp-test-mode=simple run

czytaj dalej…