Mixing MyISAM and InnoDB Database Design Engines

One of my friends, who is the database administrator, noted that mixing MyISAM and InnoDB is quite common among the DBA community when developing a schema in MySQL.

My question is: if this is true, then how good is it? Does this have an impact on maintainability, scalability, etc.?

+4
source share
3 answers

In MyISAM, as a rule, there is little reason left. Later versions of MySQL (5.5+) expanded InnoDB to support all the features that were previously only available in MyISAM (for example, full-text and geospatial indexing), and InnoDB's performance is usually significantly better than MyISAM if configured correctly.

If you are not working with an older version of MySQL, or if you have every reason to do so, I would recommend using InnoDB only in any new database design.

+7
source

IMHO, this is one of the worst things about MySQL: it allows you to choose between speed and full-text indexes (MyISAM) and referential integrity and transactions (InnoDB). If you can, I highly recommend switching to PostgreSQL: among other benefits, you get speed, full-text indexes, transactions, and referential integrity in one repository. (I no longer use MySQL for new projects.)

If you must adhere to MySQL, I recommend using InnoDB for all tables unless you have special reasons.

+3
source

From a practical point of view.

I have done this several times. It is noteworthy that in one system where queries blocked the whole table like myisam, we converted a number of critical tables to innodb so that they were blocked at the row level. This eliminated some bottlenecks from the process, and I was with the company another 18 months after this change without any problems with this solution. The supported application provided fairly intensive use of the database, so that any flaws were usually detected quite quickly.

+1
source

Source: https://habr.com/ru/post/1384726/


All Articles