データベースのパフォーマンスにどのような影響がありますか?一方のフィルタと短いテーブルよりも多くのレコードとして倍長いテーブルを照会する二つの列データベースの影響:2つの列または1つの列のフィルターを使用して2回のレコードを持つ表でフィルターを使用している表を照会していますか?
又は
にフィルタを(例えば20万件のレコード)短いテーブルを照会
カラム?いくつかのコンテキストを与えること
:
私は人と他の友人/人にそれらの関係についての簡単な非監督、連結グラフを持っています。 BIエンドユーザは、「人物」を検索してから、ファクトテーブルを使用してすべての関連する人物/友人を識別したいと考えています。
グラフの情報を保存するためのファクトテーブル(スタースキーマ)を構築しています。私のファクトテーブルのグレインは、DateとPersonディメンションによってサポートされ、1度の単一リレーションシップ(直接関係)です。関心のある人物はNode_1_personまたはNode_2_Person列に入れることができます。表の定義:
RELATIONSHIP FACT TABLE (~40 Million Rows) Relationship_ID Node_1_person Node_2_Person Relationship_Strength_Score Relationship_Counter Relationship_Created_Date Person_Dimension (~20 Million Rows) Person_Surrogate_Key Person_Natural_key Person_Name Person_Address Person_Email
私は要件を容易にするために2つのオプションがあります。
オプション#1:を私は関係の逆数を保存するので、エンドユーザーが1つを検索することができます列を使用して関係を見つけます。
オプション#2:私は相互関係を避けるため、エンドユーザーはNode_1_personとNode_2_Person列の両方を調べなければなりません。どのオプションがデータベースに大きな影響を与えるかわかりません。
残念ながら、私はDB環境にアクセスできません。オプション1(逆数)とオプション2(非相反)の両方があるので、モデルと判断を正当化するために、クエリのパフォーマンスに関して賛否両論を知る必要があります。 – user2600421
しかし、私はあなたがアクセスしている人と協力していると思います。なぜ2つのクエリを準備し、テストをセットアップしないのですか?テストすることができない場合は、パフォーマンスの問題についても責任を負うことはできません。 – wasted