都市のリストがあり、都市ごとに多数のスペル オプションがあります (例: New-york、New York City、NY、NYC)
オプションの数は一定ではなく、都市によって異なる場合があります。
今のcities
ところ、次のようなテーブルがあります(ダッシュ、コンマなどはalternative_names
列に挿入される前に削除されます:
| id | name | alternative_names |
-------------------------------------------------
| 1 | New-York | ny,new york, nyc |
| 2 | New Jersey | new jersey,jersey,nj |
ユーザーが入ったとき、NYC
またはNew Yo
たとえば - 彼は New-York を取得する必要があります
REGEX
またはで実行できますLIKE '%query%'
が、テーブルには何千もの都市が含まれており、非常に効率的ではありません。
そう-大規模なデータベースでこの種の検索を実行するためのより効率的な方法はありますか?
ありがとうございます!