4

クエリ オプティマイザは通常、データ分散の概要を使用して、クエリ処理中に生成される中間テーブルのサイズを見積もります。このような一般的な要約スキームの 1 つはヒストグラムです。これにより、入力範囲がバケットに分割され、各バケットに含まれるタプルの数の累積カウントが維持されます。バケット内の分布は、推定のために均一であると想定されます。

R次の図は、ドメイン を持つ離散属性 aのリレーションのヒストグラムの 1 つを示しています[1..10]

Bucket 1: range = [1..2] Cumulative tuple count = 6 

Bucket 2: range = [3..8] Cumulative tuple count = 30

Bucket 3: range = [9..10] Cumulative tuple count = 10

自己結合操作の推定サイズ R x R

A) 46
B) 218
C) 248
D) 1,036
E) 5,672

ソリューションで与えられた答え:B

答えはどのように計算されますか?

4

2 に答える 2

2

属性の自己結合のサイズは、属性Rの各値の頻度の合計に等しくなりますR

ここで、頻度はバケットで示されます。たとえば、最初のバケットには頻度= 6の2つの値rがあるため、バケット1の各値の頻度は頻度= 3であると想定できます。同様に、バケット2の場合もそれぞれの頻度= 30/6 = 5、バケットの場合、各値の3つの頻度= 10/2=5。

したがって、サイズは

Size =  [(3^2)*2] + [(5^2)*6] + [(5^2)*2]
     =  218
于 2012-06-15T18:41:56.110 に答える
0

私はこれを自分で理解しようとしています(これはGREコンピューターサイエンスのサブジェクト準備試験からのものです)。なぜ答えが218なのか、今のところ答えは見つかっていませんが、与えられた数字と正解との関係はわかりました。

累積タプル数の 2 乗の合計を各バケット内の離散値の数で割ると、218 になることがわかります6²/2 + 30²/5 + 10²/2 = 218

それは答えではありませんが、少なくとも接続があります =)

于 2011-11-11T16:08:21.590 に答える