題目如下:
有50000筆學生資料 每筆零零總總的屬性紀錄值為120 bytes
紀錄為固定長度不可分割 區塊大小為1024 bytes
區塊指標6 bytes
1.資料已排序 以學號當主鍵值的主索引 用二元搜尋法
找到一筆紀錄 需存取幾次區塊?
答案為: (50000/(1024/120)) / 2^6 = 97
2^7 = 128 > 97 所以要存取 7 + 1 = 8次
~~~
請問這個1指的是存取索引檔那次還是最後8位學生一組的區塊??
2.無排序 以學號為次鍵值的次索引 需存取幾次區塊?
答案為: 2^10 > (50000/2^6) 所以要存取 10 + 1 = 11次
~~~~~
想請問這裏為何要再將50000筆資料另外再分不同大小的區塊呢?
--
收藏:H&K MK-23 ; IMI .50AE ; Colt series'70(gold) ; Beretta M93R
Glock 18c ; S&W M629 ; Colt Unlimited Rev. ; Mad Max
http://0rz.tw/223MI
--
※ 編輯: ducksky 來自: 118.169.229.17 (05/08 20:32)
> -------------------------------------------------------------------------- <
作者: NinaSpanish (該看書囉 !!) 看板: Examination
標題: Re: [考題] 請資管達人幫忙 : 資料庫中索引檔的問題
時間: Thu May 22 18:27:08 2008
※ 引述《ducksky (鴨舞九天)》之銘言:
: 題目如下:
: 有50000筆學生資料 每筆零零總總的屬性紀錄值為120 bytes
: 紀錄為固定長度不可分割 區塊大小為1024 bytes
: 區塊指標6 bytes
: 1.資料已排序 以學號當主鍵值的主索引 用二元搜尋法
: 找到一筆紀錄 需存取幾次區塊?
: 答案為: (50000/(1024/120)) / 2^6 = 97
: 2^7 = 128 > 97 所以要存取 7 + 1 = 8次
: ~~~
: 請問這個1指的是存取索引檔那次還是最後8位學生一組的區塊??
這裡加1是因為: 除了存取索引檔的區塊外,須至資料檔存取區塊1次
: 2.無排序 以學號為次鍵值的次索引 需存取幾次區塊?
: 答案為: 2^10 > (50000/2^6) 所以要存取 10 + 1 = 11次
: ~~~~~
: 想請問這裏為何要再將50000筆資料另外再分不同大小的區塊呢?
題目提: 無排序 以學號為次鍵值次索引 =>採次鍵之次索引 屬於密集索引(所有學號
皆需放至索引檔)
50000/64=782(取上限) 故索引檔共要建782個區塊
log 782(以2為底)=10
再加上存取資料檔區塊: 11次
希望有回答到您的問題,有錯請指正。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.123.182