NDPR(ディスクページの読み込み回数)の観点から(最も効率的な)ブロックネストループジョインのコストを計算しようとしています。ブロックネストループジョインのコストの計算
SELECT COUNT(*)
FROM county JOIN mcd
ON count.state_code = mcd.state_code
AND county.fips_code = mcd.fips_code
WHERE county.state_code = @NO
ここで、@NOはクエリの実行ごとに状態コードに置き換えられます。
は、私が使用NPDRを導き出すことができることを知っている:NPDR(R x S) = |Pages(R)| + Pages(R)/B - 2 . |P ages(S)|
(小さなテーブルが少ないページを生成するために、外側として使用される読み出しエルゴ: R =郡、S = MCD)。
私はまた、ページサイズ=私は「WHERE county.state_code = @NO
は」私のコストにどのような影響を与えるかで把握しようとしています何
Pointer = 8 byte
Num. rows in mcd table = 35298
Num. rows in county table = 3141
Free memory buffer pages B = 100
Pages(X) = (rowsize)(numrows)/pagesize
2048のバイトを知っていますか?
お時間をいただきありがとうございます。あなたが書いた式について、観測のカップル
NDPR(またはNPDR)とは何ですか?私は数式からダーティページの読み取りの数のような何かを推測しています。 – Laurence
はい、申し訳ありません。私はそれを指定するべきだった。 NPDR =ページディスクの読み取り数。 – JB2