【发布时间】:2011-09-20 22:33:20
【问题描述】:
我需要对两个不同表中的两个不同列进行全文索引。
唯一的问题是我使用的是innodb,无法进行全文索引。
我知道有诸如 sphinx 之类的选项,我查看了这些选项,但我觉得这有点矫枉过正,因为要全文索引的列是 varchar(20)。
而且,可能“最多”只有大约 1,000,000 行
我认为的一个简单选项是仅使用主键和要使用 myisam 索引的 varchar 复制两个表。
有什么建议吗?有什么方法可以轻松实现吗?
【问题讨论】:
-
非规范化,将文本数据放在 MyISAM 表中并将其链接到 InnoDB 表(尽管 MyISAM 不会强制引用完整性)...
-
第一个问题很好,很好奇这带来的答案,欢迎来到 stackoverflow。
-
嘿,谢谢。虽然非规范化看起来很简单,但我担心的一件事是参照完整性,就像 OMG 指出的那样:没有事务或 f 键来确保存储在 myisam 表中的行是正常的,以防止搜索结果引用不存在的行反之亦然。
标签: mysql indexing innodb myisam