3

I like to know why still even with version mysql server 5.6+

MySQL store their meta database('mysql') tables mostly in MyISAM type when they themselves encourage developers/users to use the InnoDB as the default Database engine and considered outdated to use MyISAM anymore ?

Josip Ivic
  • 3,639
  • 9
  • 39
  • 57
mahen3d
  • 7,047
  • 13
  • 51
  • 103
  • 1
    You are asking the wrong people. Ask the developers. (But I imagine that they want to avoid breaking existing people's database installations with an incompatible change.) – Stephen C Sep 21 '15 at 07:37

2 Answers2

2

Of course no one can speak for the dev team, but MyISAM seems to be the most appropriate choice for these tables :

  • no real need for row-level locking: there is little if any need for concurrency, since very few threads (typically one: the administrator) is supposed to ever write to this database at a time. Table-level locking should suffice.
  • very rare need for transactions: typical access is read-only
  • little need for support of foreign keys: the structure is trivial, MySQL devs don't need a safeguard to maintain referential integrity (not even you, smart administrator, are not supposed to fiddle with this database: administrative tools and commands exist for a reason)
  • speed does matter here: MyISAM is still slightly faster than InnoDB, especially for reads
  • if it ain't broke, don't fix it

I could see one reason to switch to InnoDB though: its resistance to crashes and its ability to recover from one, due to its transactional nature.

Community
  • 1
  • 1
RandomSeed
  • 29,301
  • 6
  • 52
  • 87
  • It's more simple than that. mysql/* tables can't be InnoDB now due to technical reasons and Oracle is working on fixing that. It's not an easy change so it'll take some time. – akuzminsky Sep 22 '15 at 19:51
  • Why don't you post this as an answer with some evidence supporting this statement? – RandomSeed Sep 23 '15 at 00:37
1

Yes people endorse InnoDB over MyISAM but that does not mean MyISAM is useless.

In general sense InnoDB address a large set of issues which are limitations of MyISAM which are good for large pool of needs that people have; but in certain scenarios MyISAM works better than InnoDB.

For example if your system is read intensive MyISAM takes over InnoDB and in many other situations; further it provides compatibility to the older application which want to upgrade to the newer version of MySQL thats one of the biggest reason MySQL community supports it in all new releases.

You might want to read the following links for more info in case you want a comparison between two.

When to use MyISAM and InnoDB?

Comparison between MyISAM and InnoDB

Community
  • 1
  • 1
akm
  • 830
  • 6
  • 20