0
私は数百万の128ビットのハッシュ値をデータベースに保存しなければならず、私は自分のテーブルデザインに苦労しています。128ビットハッシュを格納するには、2つのbigintsまたはバイナリ(16)?
2つのBIGINTフィールドにハッシュを格納するか、BINARY(16)だけを使用する必要がありますか?私の典型的な使用例は、ハッシュに基づいて重複レコードを見つけることです。
私はちょうど(2 bigints付き)(バイナリ(16)列で)select * from hash where [email protected] and [email protected]
かを使用することができ
select * from hash where [email protected]
それが賢明なパフォーマンスを重要ですか?
私はMS SQL Serverを使用していますが、ここでは重要ではないと思います。しかし、私はC#プログラムからMS SQLにアクセスしています。値の読み書きは簡単ですが、取引の中断はしません。現在私はulongの配列を持っています。
単一の値が128ビットの場合、なぜ複数の列に分割するのですか? –
良い質問です。私のプログラムはC#で書かれており、そこには128ビットがulong配列に格納されているので、SQLで同じものを使うのは当然です。 – itix