【发布时间】:2023-03-13 07:03:01
【问题描述】:
我需要MySQL 全文搜索来索引类似 207/12.25/07/2012 的数据库至少有 200 万行并且还在增长,因此正确的索引是绝对必要的。请帮忙。现在看来 slashes 和 fullstops 被省略了,只有 2012 被编入索引。
【问题讨论】:
-
你做什么样的搜索?
标签: mysql indexing full-text-search
我需要MySQL 全文搜索来索引类似 207/12.25/07/2012 的数据库至少有 200 万行并且还在增长,因此正确的索引是绝对必要的。请帮忙。现在看来 slashes 和 fullstops 被省略了,只有 2012 被编入索引。
【问题讨论】:
标签: mysql indexing full-text-search
FULLTEXT 索引可用于搜索较大文本块中的单词。看到您的数据不包含单词,普通索引不适合您吗?这将使搜索像207/12% 这样的前缀更快。
使用普通索引搜索像%25/07/2012 这样的后缀需要进行全表扫描。如果您正在搜索后缀,您可以创建一个包含反向数据的列,然后索引并搜索该列。
如果您正在搜索位于中间的东西,例如%12.25%,创建FULLTEXT 索引可能是有意义的,您只需要add . into the list of "word characters" (mysql.com) 但显然这需要编译MySQL来源。
【讨论】: