私のコードは約1000個のHTMLファイルを取り出し、関連する情報を抽出します。&は、その情報をMySQL TEXTフィールドに格納します(通常はかなり長いので)。私はDBの重複エントリを防ぐシステムを探していますMYSQL/PHPの重複したTEXTフィールドをチェックする最良の方法は何ですか?
私の最初のアイデアは、テーブル(おそらくMD5)にハッシュフィールドを追加し、各実行の開始時にハッシュリストを引くことです&挿入前に重複をチェックしてくださいDBに格納する。
2番目のアイデアは、ファイルの長さ(バイトまたは文字など)を保存し、重複するファイル長を確認するために&のインデックスを確認し、重複する長さが見つかると内容をダブルチェックします。
パフォーマンスに関するベストソリューションは何もわかりません。おそらくもっと良い方法がありますか?
ファイルが95%以上類似しているかどうかを確認する効率的な方法がある場合は、理想的でしょうが、私はそこに疑問がありますか?
ありがとうございました!
ところで私はPHP5を使用しています/ Kohanaの
編集:私は、各
などの発生を記録&すべての英数字を数えることができる:ちょうど類似性のチェックのアイデアを持っていた
:17aB ... = 1a、7b、10c、27c、...チャンクカウントの上限になる可能性があります(約61?)
偽陽性は依然として稀であると思います。 。 。
良いアイデア/悪いアイデア?
ハッシュは、英数字の発生よりも衝突が少なくなります。より衝突耐性の高いハッシュが必要な場合は、sha1を使用してください。悪いシステムを改革するためにあなたの時間を無駄にしないでください。 –
はいこれは私が最終的に決めたものです – jisaacstone