我使用了InnoDB表,我需要在里面进行搜索......
我想说我有行
1. asda
2. asdda
3. xyz
我想搜索asda ...
它会像SELECT * FROM table WHERE myC LIKE 'asda'
那样......我想要做的是显示'asda'和'asdda'因为它几乎很熟悉......有没有有效的方法来做到这一点? MATCH(myC)AGAINST'asda'仅在myISAM表类型中可用..
谢谢你的回答!
答案 0 :(得分:1)
一个非常基本的版本是使用MySQL中的SOUNDEX()函数:
SELECT *
FROM table
WHERE SOUNDEX(myC) = SOUNDEX('asda');
或者你可以考虑尝试Levenshtein Distance,这会更加万无一失,但计算成本要高得多。