Chr*_*nch 4 mysql innodb full-text-search
我正在将全文搜索添加到已经存在的 mysql 表中,这些表具有 id 整数的主要自动递增键。
当我添加全文索引时,我收到一条警告:
/*!50604 ALTER TABLE `phppos_additional_item_numbers` ADD FULLTEXT INDEX item_number_search (`item_number`)*/;
Warning (Code 124): InnoDB rebuilding table to add column FTS_DOC_ID
Run Code Online (Sandbox Code Playgroud)
我不能简单地重构我的所有代码以添加列 FTS_DOC_ID 来删除此警告。允许这种警告发生是不是很糟糕?
看说明书好像没什么不好。MySQL 只是通知您它必须执行的附加操作。
InnoDB 使用称为文档 ID (DOC_ID) 的唯一文档标识符将全文索引中的单词映射到该单词出现的文档记录。映射需要索引表上的 FTS_DOC_ID 列。如果未定义 FTS_DOC_ID 列,则 InnoDB 在创建全文索引时会自动添加隐藏的 FTS_DOC_ID 列。
如果您不想收到警告,那么您必须自己管理该列,这看起来像是目前自动化的大量工作:
如果您选择自己定义 FTS_DOC_ID 列,则您负责管理该列以避免空值或重复值。FTS_DOC_ID 值不能重复使用,这意味着 FTS_DOC_ID 值必须不断增加。
产生此警告的操作的一个副作用是必须重建表 - 对于已经包含许多记录的表,这可能需要一些时间。但是,如果您自己添加了该列,情况也是如此,因此它对您没有任何影响。
归档时间: |
|
查看次数: |
2277 次 |
最近记录: |