2012-01-10 5 views
0

私は10ブロックの関係Rを持っています。 S with 1000 リレーションRには属性Aのユニークなレコード50個、リレーションSにはアトリビュートAのユニークなレコード5000個があります。 各ブロックに100個のレコードがあります。 各リレーション内の異なる値の一様分布を仮定します。 Sは結合属性Aにクラスタリング索引を持っています。DB - クエリ処理 - インデックスネストされたループ結合

問題は次のとおりです。Rとの結合に参加するレコードの数をS個格納します。最高と最悪の場合に回答する必要があります。

私はRがAのための50件のユニークなレコードを持っており、それはクラスタリング索引だ場合、それはそれぞれユニークで、最大2の最低1つのブロックがかかりますし、その後の答えが50または100

である。しかし、なぜできていると考えブロックの最大数が10になるように、各ブロックに5つの一意のレコードを入れますか?私の知る限りこれを理解するよう

+0

この宿題はありますか? –

+0

はいそれは宿題です –

+0

リレーションRにも属性Aのインデックスがクラスター化されていますか? –

答えて

1

は状況です:

Sは100のレコード/ 100000記録(最大)につながるブロック1000個のブロックを持っています。それらは全て均等にAがSで20行を持っているでしょうごとに一意の値を分散している場合

:それら100000のレコードの属性A. 5000ユニークな(異なる)値

編集です。 R中のAの50個の固有値のすべてがS内に存在する場合、50個の行グループがフェッチされる。

最高の場合、すべてが一緒に(クラスタ化インデックスのおかげで)格納されており、10個のブロックを読み込む必要があります。 [(ブロックあたりS/100レコードで同じ値を持つA * 20行の50個の値= 10ブロック)

最悪の場合、Aのすべての値に対して20行が2ブロックを使用しています。あなたは2番目の質問にS.

から

を読んでする必要があります。

あなたがAのために、すべて同じ値が一緒に格納される列を含むクラスタ化インデックスを持っているので、彼らは場合にのみ、複数のブロックを使用して彼ら。ブロックが他の値で埋められていて1つのブロックに収まらない場合は、ブロックに収まらない場合があります。

注意:私はそうではありませんあなたの最初の質問を完全に理解しているので、私の答えは完全に間違っている可能性があります!

関連する問題