ユーザーがエンティティをデータベースに保存し、重複の可能性を警告する前に、可能性のある重複のリストを作成する必要があります。
重複をチェックする基準は 7 つあります。少なくとも 3 つ一致する場合は、ユーザーにフラグを立てる必要があります。基準はすべて ID で一致するため、あいまいな文字列の一致は必要ありませんが、少なくとも 3 つの項目が一致するために多くの可能な方法 (正確に合計を行った場合は 99 の方法) があるという事実に問題があります。 7つの可能性のリスト。
検索結果を見つけるために 99 の個別のデータベース クエリを実行する必要はありません。また、データベースからすべてを取得してクライアント側でフィルター処理する必要もありません。現時点ではおそらく数万のレコードしか話していませんが、システムが成熟するにつれて、これは数百万に成長するでしょう.
これを行うための効率的な方法を考えている人はいますか? データベースから少なくとも 1 つのフィールドが一致するレコードを取得する単純な OR クエリを検討し、クライアントで処理を行ってさらにフィルタリングしましたが、いくつかのフィールドはカーディナリティが非常に低く、実際には削減されません。膨大な量の数字。
ありがとうジョン