mysql - 从大表中查找相似值的最佳方法

标签 mysql sql

我有一个数据库,我在 mysql 中存储了超过 1000000 个名称。现在我的应用程序的任务有点典型。我不仅在数据库中搜索名字,还会找到相似的名字。假设名称输入为 christian,那么应用程序将显示建议的名称,如 christinechris 等。执行此操作的最佳方法是什么,而不使用 like 子句。建议将仅针对名称最后部分的更改。

最佳答案

如果您还想要相似的名字(通过声音),像 SOUNDEX() 这样的东西可能会有所帮助:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_soundex

否则 … LIKE 'chri%' 对我来说似乎不是个坏主意?

如果您真的只想要第一个字符而不需要 LIKE,您可以使用 SUBSTRING()

关于mysql - 从大表中查找相似值的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6317024/

相关文章:

php - 按Name等字段对Mysql查询进行排序

mysql - 子查询返回多于 1 行|是否可以使用 "AND NOT IN"?

mysql - 需要用两个不同的 where 子句返回两组数据

mysql - 无法登录新创建的mysql用户

php - 缓存不工作

php - 两个查询,sql 的两个结果试图在 php 中划分它们

python - Django 相交计数注释用于排序

mysql-connector-j 8.0 - 为 SqlTimestampValueFactory 设置时区?

SQL Server : retrieve 1 value from a duplicate

SQL INSERT INTO 返回自动增量字段