i'm Developing a large Website, and adding many functionalities on it. I want to know if there's any problem with making all the tables in the database InnoDB type, cuz there are so many foreign key connection within all the tables I have like 20 tables in the database, and all the tables in the database are all connected together somehow, is there any problem with this, or it's okay, thanks.
4 Answers
InnoDB is preferred over MyISAM and if you have foreign key constraints then you should use InnoDB anyway since MyISAM doesn't support foreign keys.
Also, if you want to use InnoDB, its usually recommended that all tables use InnoDB. It provides a number of advantages anyway so I'd say yes, make all tables InnoDB unless you have a good reason not to (i.e. you need MyISAM Geospatial extensions or Fulltext and your InnoDB version doesn't support those features).
2 Comments
Problems, no. But what dbm are you using? (InnoDB is the default storage engine for MySQL) So there should be no problems, assuming you are using MySQL or any others that support InnoDB. but what are you doing with the tables and what would cause a problems, or that you think would cause problems ...
4 Comments
As far as I am aware the only non-trivial reason to choose MyISAM over InnoDB is for Full-Text indexing. Apart from that, InnoDB's support for transactions and foreign key constraints make it a much better choice for the vast majority of applications.
That said, there's nothing stopping you from using a few MyISAM tables alongside InnoDB tables if you require some functionality from MyISAM.