在这两种情况下,MySQL FULLTEXT 索引有什么区别吗?索引是否采用逗号分隔的“单词”作为索引的单词?
选项 1.“,11111,22222,33333,44444,55555,” (单词之间用逗号分隔)
选项 2.“11111 22222 33333 44444 55555” (单词之间用空格分隔)
MyISAM 表中两列都是 TEXT,带有 FULLTEXT 索引。
问题是索引的那些词:
,1111,
,2222,
.....
不一定是:
1111
2222
.....
谢谢! 最好的!
测试两者在获得结果的时间上没有显着差异,但需要确定。
来自文档:
MySQL FULLTEXT 实现将任何真实单词字符(字母、数字和下划线)序列视为一个单词。该序列还可以包含撇号 (
),但连续不得超过一个。这意味着'
被视为一个单词,而aaa'bbb
被视为两个单词。全文解析器会删除单词开头或结尾的撇号;aaa''bbb
将被解析为'aaa'bbb'
。aaa'bbb
内置的全文解析器通过查找某些分隔符来确定单词的开始和结束位置;例如,
(空格)、
(逗号)和,
(句号).
因此,无论单词是用空格还是逗号分隔,您的示例都应该以相同的方式进行解析。