騰訊筆試 資料庫問題

2021-07-30 01:13:46 字數 632 閱讀 9230

題目描述:設檔案f具有10000個記錄,每個記錄50位元組,其中10位元組用來表示檔案的鍵值。每個磁碟塊大小1000位元組,指向磁碟塊的指標佔5位元組,不允許記錄跨兩個塊。

(1)如果為檔案f建立簡單的hash索引,使用100個hash桶,則桶目錄需要多少磁碟塊?平均每個桶需要多少磁碟塊?

(2)如果為檔案f建立b+索引,各磁碟塊盡量填滿,需要多少磁碟塊儲存索引?

答案:

(1)桶目錄是是乙個列表,100個桶可以存放在尺寸為100的int型陣列中,乙個int型佔4個位元組的話,總共400個位元組,而乙個磁碟塊1000個位元組,所以桶目錄存放於1個磁碟塊中;

給了100個hash桶,乙個桶裡放100個記錄,100個記錄總共100*50=5000個位元組,所以需要5000/1000=5個磁碟塊。

(2)建立b+索引,從葉子節點算起,求出每個葉子節點的在盡量放滿一塊磁碟的情況下共存了多少條記錄:10×r+5×r<=1000,r取66,所以葉節點的總數為⌈10000/66⌉=152個,即葉節點需要152個磁碟塊;因為剛才計算出r=66,即上層節點是66叉樹,那麼上層節點數有⌈152/66⌉=3個,則需要3個磁碟塊;再往上層節點走,只需要安排1個節點,即到達根節點。所以總共需要152+3+1個磁碟塊。

答案只是個人想法,不一定正確,還希望各位指正交流

資料庫筆試題

1 表中的字段儲存不同長度的編碼,現在需要全部格式化為8位統一長度的字串,不足的前面用0填充,給出實現方法。2 巢狀查詢和連線查詢的效率問題 在相同的問題上,我們用巢狀,會獲得比連線高十倍的效率。3 mysql 格式化字串長度不夠補0 前面補零 lpad str,len,padstr 返回字串 st...

筆試題 資料庫 1

1.資料庫正確執行的四個基本要素是什麼?acid特性 原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 durability 2.b 儲存所有的臨時表和臨時儲存過程。a.master資料庫b.tempdb資料庫c.model資料庫d.msdb資料庫 sq...

騰訊筆試 n人組隊問題

某部門共有n nn個人,現在需要從所有人中選出任意數量 大於0 的人組成乙個小隊,並從中選出乙個隊長,那麼一共有多少種組隊方式?其中1 n 109 1 n 10 9 1 n 10 9,由於組隊方式的數目可能會很大,請將結果對 10 9 7 10 9 7 109 7 取餘後輸出。輸入 2 輸出 4 如...