使用django在mysql中混合存储引擎的陷阱?

我在amazon的云中运行mysj的django系统,数据库默认为innodb。但现在我想在几个表上放一个全文索引进行搜索,这显然需要myisam。 显而易见的解决方案是告诉mysql ALTER TABLE到myisam,但是它会出现任何问题吗? 我想到的是,每当我构建一个新版本的数据库时,我都必须记住这样做,这在理论上应该是罕见的,但似乎没有办法告诉django请设置表级存储引擎。我想我可以写一个迁移(我们使用南方)。 我可能会遗失的任何其他事情?什么可能出错?     
已邀请:
以下可能有所帮助:   使用myisam全文表来索引回你的innodb表,例如:   使用innodb构建您的系统:... 任何在InnoDB上实现全文搜索的方法     
申请会通知吗?可能不是。 它会引起问题吗?只有当事情出错时。 MyISAM不是事务存储引擎。如果在事务内部更改MyISAM表中的数据,则必须回滚更改,则不会回滚该表中的更改。已经有一段时间了,因为我试图打破它可怕,但我愿意下注,当发生这种情况时,MySQL甚至不会发出警告。这将导致数据一致性问题。 您应该认真考虑外部搜索软件而不是全文索引,如ElasticSearch(在应用程序级别集成),或Sphinx(在MySQL级别集成,但如果您直接使用RDS而不是MySQL,我认为你不认为能够使用它。     

要回复问题请先登录注册