两者都使用索引来加快字符串搜索。那有什么区别呢?
在的文档中CREATE INDEX
,没有提及tokenization
,这使我认为文本列上的普通索引只会加速“ =”查询,而不是MATCH
可以匹配段落中单词的更复杂的查询,但是我找不到任何可以确认的来源这个。
这使我认为文本列上的普通索引只会加快“ =”查询
通常,文本列上的标准B树索引会加快SARGable查询的速度,例如:
SELECT col FROM tab WHERE col = 'value'
SELECT col FROM tab WHERE col LIKE 'value'
SELECT col FROM tab WHERE col LIKE 'value%'
但不是:
SELECT col FROM tab WHERE col LIKE '%value%';
SELECT col FROM tab WHERE col LIKE '%value';
SELECT col FROM tab WHERE UPPER(col) = 'VALUE';
他们仍然可以从索引扫描中受益,而不是从表中受益,但是它的速度不如索引查找。