私がしたいのは、ディスクやドライブ(usb、main hddなど)をファイルとしてスキャンし、その情報をdbに保存することです。次に、DBを特定のファイルに検索して、格納先を探します。あるいは、私は何年も前のコピーがアーカイブの理由であるかを調べることができます。もし私が何かを捨ててしまった場合、それを元に戻す必要はありませんか、あるいは私が何回も意図的にバックアップしています。 。ここでこのデータベースを保存するより良い方法はありますか?
は、(これはhiddentをカバーして4バイト私は
OS + fsのフラグ(1バイト?) st_modeの(たとえないLinuxの中)(Windowsの場合でもない) win32_attrを2バイトを考えていますものですファイル、ロックなど) ファイルサイズ(64ビット) a/m/c時間、64ビット。 インデックス/ユニークキーをfileIDとして
自分のテーブル内の可変長の名前は、一致するfileIDで参照する必要がありますか?または私はdbの260の長さのファイル名を持っている必要がありますか、私はdbの可変長のファイル名を持つ必要がありますか?
次に、チェックサム/ハッシュテーブルのチェックサム(md5、sha1、sha512など、それぞれ1つのブロブ)に必要なXYZビットのブロブをfileIDで検索します。
私のハッシュテーブルはfileID(intはインデックスと同じ長さですか?)、hashType(int)、hashValue(varchar)を持つべきだと考えていました。
PKとは何ですか、インデックスとは何ですか?なぜ私はそれらを必要としますか? 私は自分の質問に念頭に置いていたハッシュテーブルを追加していますので、何が間違っているのかをよく説明できます。 –
PK === fileIdとhash_typeの主キー、indexはfileIDの別のインデックスです。 – sfossen
あなたはfileIdによってファイルテーブルにリンクします。 – sfossen