现在有一张 mysql 的 data 表有 300 个 varchar 字段:value1 到 value300 ,想要支持模糊查询,
想到的办法是建立一张索引表,
id,
data_id, data 表的 id
number, 数据在 data 表中的位置
value, 数据的值
然后加上索引 data_id,number,value ,但是这样只能加速前缀匹配
现在有个想法,比如value 等于"abcdefghi" 就往 index 表插入以下数据,
abcdefghi,
bcdefghi,
cdefghi,
defghi,
...
这样就能支持 "%ced%"的快速查询了,
但是数据量会很大,data 表数据百万的话,可能 index 就几十亿了,这种方案可行么?
大家有没更好的方案?比如说 index 表 用 elasticsearch?