I am writing a web-app for my studies which includes fulltext search and foreign keys.
I have read somewhere, MyISAM engine is suitable for fulltext searching, and InnoDB for foreign keys.
In this situation what engine should I use for the best performance?
- Why does MyISAM not support foreign key relationship but InnoDB does?
- Why does MyISAM support full text search but InnoDB does not?
The performance of each storage engine will depend on the queries you perform. However, be aware that different tables within the same database can use different storage engines.
As documented under Foreign Key Differences:
Therefore, foreign key constraints have simply not yet been implemented in
MyISAM.EDIT: As that comment is removed from docs, it appears that it is no longer planned to implement foreign key constraints in
MyISAMengine.As documented under What Is New in MySQL 5.6:
Therefore, full text search has been implemented in
InnoDBas of MySQL 5.6.