1

今、私には2つの選択肢があります。

すべてのデータに同じスキーマがあります。レコードは、ホスト間の接続を表します。したがって、1 つのレコードは 2 つのホストに属します。ここで、1 つのホストの接続を取得する必要があるアクションを実行します。h2にレコードを挿入します。したがって、host1 と host2 の間に接続があるとします。ホスト 1 の接続を照会するたびに、ホスト 1 とホスト 2 の間の接続が既に保存されています。したがって、host2に関する情報を照会すると. レコードはテーブルに 2 回格納されます。そのため、ホストごとにテーブルを作成することを考えています。

ここにジレンマがあります。ホストが多いから。そのため、ホストごとにテーブルを作成すると、テーブルの量が膨大になります。巨大だが 1 つのテーブルのみを高速にクエリするか、それとも多数の小さなテーブルを高速にクエリするか (結合なし)

ありがとう

4

1 に答える 1

1

たくさんのレコードで1つのテーブルにインデックスを付けるのが方法です。そうしないと、メンテナンスの悪夢になる可能性があり、インデックス作成によってテーブル内の検索速度が処理されます。さらに、大量のレコードがあると仮定しましょう。SQLServer 2008(および2005)では、テーブルを個別のファイルに分割できるため、速度も向上します。SQL Serverにない場合でも、データを同じテーブルに保持するのが最善の方法です。特に、テーブルのスキーマが各ホストで同じである場合はそうです。

于 2010-07-09T02:59:44.517 に答える