2012-01-20 23 views
1

私のdbテーブルには複数の段落のような長い文字列を持つcol "a" TEXTがあります。入力文字列があれば、私は1つの一致するレコードを探したい。テーブルに何百万もの行がある場合は、何が速くなりますか?単純大きなSQLデータベースの長いテキスト文字列の完全一致を見つける最速の方法

WHERE a = ? 

または、各行のmd5ハッシュを計算して保存する必要がありますか?提案は大歓迎です。

+0

入力文字列は完全に一致するのか、「contains」の関係になりますか? –

答えて

1

をSQL Serverを可能性が使用している場合は、完全一致が必要な場合、ハッシュを格納し、それに比較することが非常に速くなります。部分文字列の検索はできなくなりますが、何千もの文字を比較するよりも文字を比較する方がはるかに高速です。

検索パラメータでハッシュを計算する際にオーバーヘッドが発生しますが、その多くのデータに対する文字列の比較に比べて何もありません。

+0

ご確認いただきありがとうございます。私はまだテストしていませんが、それは私の前提です。そして、はい、マッチは完全で正確でなければなりません。 – punkish

+0

私はそれに同意します。特に、マッチングが頻繁に行われてから挿入されると、 – psur

関連する問題