If you need to perform transactions and full-text on a single table in MySQL, you have several options. But in fact, the main point that should be distracted from all this discussion is that databases do not perform full-text searches very well (especially MySQL!), And ideally you want to offload this work to a component that performs this type of task better.
Option 1:
Create one table in which you need to complete the transaction as InnoDB, and then create another mirror table, which is MyISAM, with which you can perform full-text searches. You can synchronize data using a trigger in the InnoDB table. Kind of hacking, but it will work.
Option 3:
Take a look at a third-party full-text engine such as Sphinx , Lucene or Solr . Thus, you can focus on developing your database to be optimal when querying data, rather than forcing it to perform a text search.
Option 3:
You can select a different database server that supports transactions and full-text searches at the same time, such as SQL Server.
Hope this gives you some clarity.
Enjoy it!
Doug
source share