如何在MySQL中使用FULLTEXT索引?

时间:2011-08-02 15:35:47

标签: mysql optimization indexing full-text-search pdo

假设我有两个表stuffsearch_index。由于各种原因,我更愿意生成一个自定义索引表,其中包含以下行的模式。

我认为这必须是一个单独的表,因为它需要MyISAM存储引擎才能支持FULLTEXT。我的所有其他表都是InnoDB用于事务支持。

search_index (MyISAM):
-----------------------
stuff_id    BIGINT    PRIMARY
keywords    TEXT      FULLTEXT  ; Not same as text in `stuff`
                                ; (optimised & space delimited)

search_index表的更新频率:

  1. 每当创建或更新stuff条记录时。

  2. 定期扫描“脏”stuff条记录并相应更新search_index

  3. 其他...

  4. 我的观点是 1 的好处会更容易维护,搜索会立即生效,但数据库中会立即重新编制索引。 2 不会那么有效,但所有重建索引都可以在一次点击中发生。这是真的吗?

    MySQL在插入/更新具有FULLTEXT索引的记录时效率如何?

    附加说明:我试图尽可能保持架构的可移植性(带PDO的不同rdbms驱动程序)

0 个答案:

没有答案