我正在对一个表(很少有内部联接)进行搜索,最多需要 5 秒才能运行(750 万行)。这是一个 MyISAM 表,我没有对它使用全文索引,因为我发现在这种情况下使用 MATCH AGAINST 和普通的“like”语句在速度上没有差异。
我现在正因为锁定表和查询运行几分钟才完成而“受苦”。
尝试将引擎切换到 InnoDB 对我有什么好处吗?还是仅在我需要插入或更新行时才有帮助...而不仅仅是选择它们?这整个锁表的东西都在忙着磨我的球......
最佳答案
InnoDB 支持行级锁定而不是表级锁定...所以这应该可以缓解您的问题(尽管我不确定它是否会完全消除它)。
最好的选择是使用专用的搜索系统(如 Sphinx、Lucene 或 Solr)
关于mysql - 这种情况需要使用 InnoDB 还是 MyISAM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3356285/