# Change from MyISAM to InnoDB?

**URL:** <https://forums.percona.com/t/change-from-myisam-to-innodb/992>\
**Category:** Other MySQL® Questions\
**Created:** [November 7, 2008, 8:28am UTC](https://forums.percona.com/t/change-from-myisam-to-innodb/992 "2008-11-07T08:28:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![armakuni](https://avatars.discourse-cdn.com/v4/letter/a/5fc32e/32.png) [@armakuni](https://forums.percona.com/u/armakuni)\
**Post date:** [November 7, 2008, 8:28am UTC](https://forums.percona.com/t/change-from-myisam-to-innodb/992/1 "2008-11-07T08:28:35Z")

</div>

Usually people are talking about big databases but we have a very small database (~40MB, ~20 tables) where all tables are using MyISAM engine. My beginner question is: does it make sense to change to InnoDB engine? Current ratio between writes and reads from mysqlreport (last 80 days):

\_\_ Questions \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\__Total 891.67M 128.0/s DMS 685.86M 98.4/s %Total: 76.92 Com 111.21M 16.0/s 12.47 COM\_QUIT 97.60M 14.0/s 10.95 -Unknown 3.00M 0.4/s 0.34Slow 10 s 1 0.0/s 0.00 %DMS: 0.00 Log: OFFDMS 685.86M 98.4/s 76.92 SELECT 373.76M 53.6/s 41.92 54.50 REPLACE 202.12M 29.0/s 22.67 29.47 UPDATE 107.40M 15.4/s 12.04 15.66 DELETE 2.42M 0.3/s 0.27 0.35 INSERT 169.72k 0.0/s 0.02 0.02Com_ 111.21M 16.0/s 12.47 set\_option 102.20M 14.7/s 11.46 stmt\_prepar 2.99M 0.4/s 0.34 stmt\_execut 2.99M 0.4/s 0.34

and table lock status:

\_\_ Table Locks \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_Waited 9.49M 1.4/s %Total: 0.79Immediate 1.19G 170.1/s

We are only interested about performance (speed) and reliability is not so important. Because there are lot of read and writes InnoDB should in theory be good if I understand correctly differences between MyISAM and InnoDB. But does the engine really matter in such a small database?

---

<div class="post-metadata">

**Author:** ![debug](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/debug/32/772_2.png) [@debug](https://forums.percona.com/u/debug)\
**Post date:** [December 19, 2008, 2:35am UTC](https://forums.percona.com/t/change-from-myisam-to-innodb/992/2 "2008-12-19T02:35:15Z")

</div>

Well, InnoDB provides better concurrency, because of row-based locking. MyISAM has only table-based locking. So you should get better performance if you have to run multiple updates/selects at the same time.

---

<div class="post-metadata">

**Author:** ![armakuni](https://avatars.discourse-cdn.com/v4/letter/a/5fc32e/32.png) [@armakuni](https://forums.percona.com/u/armakuni)\
**Post date:** [December 20, 2008, 8:12am UTC](https://forums.percona.com/t/change-from-myisam-to-innodb/992/3 "2008-12-20T08:12:37Z")

</div>

| [B]debug wrote on Fri, 19 December 2008 10:05[/B] |
| Well, InnoDB provides better concurrency, because of row-based locking. MyISAM has only table-based locking. So you should get better performance if you have to run multiple updates/selects at the same time. |

Thank you for your answer. I definitely need to make good tests because with quick test MyISAM was faster than InnoDB.
