sql >> データベース >  >> RDS >> Oracle

インデックスを使用して類似した単語を検索する

    たぶん UTL_MATCH 助けることができます。

    ただし、次のようなものに基づいて関数ベースのインデックスを作成することもできます。

    regexp_replace(your_column, '[^0-9a-zA-Z]+', ' ')
    

    そして、次のように一致させてみてください:

    ...
    WHERE regexp_replace(your_column, '[^0-9a-zA-Z]+', ' ') = 
          regexp_replace('maria (cool)' , '[^0-9a-zA-Z]+', ' ')
    

    これは、sqlfiddleのデモです 完全ではありませんが、開始することができます




    1. 行が存在するかどうかを確認するための単純なmysqlクエリ

    2. アクアデータスタジオ

    3. MySQL InnoDBが全表スキャンでMyISAMよりもはるかに遅いのはなぜですか?

    4. PostgreSQLの制約。これはコミット時にチェックされ、それ以前ではチェックされません。