阿摩線上測驗 登入

申論題資訊

試卷:113年 - 113 經濟部所屬事業機構_新進職員甄試_資訊:1.資訊管理 2.程式設計#123421
科目:國營事業◆1.資訊管理 2.程式設計
年份:113年
排序:0

題組內容

一、某書店資料庫中有數個資料表,其DDL如下,請回答下列問題:(3題,共16分)
(三)本DBMS是由高速電腦建置的非分散式資料庫系統,執行SQL語法查詢時,需先將資料從硬碟載入記憶體才能運算,為了減少硬碟存取次數,每次載入量為一個硬碟頁。由於存取硬碟頁的耗用時間,是本DBMS進行SQL語法查詢 的最主要成本,故實際執行查詢前,估算硬碟頁存取次數將是效能調校關鍵。已知Product資料表裡共有100,000 筆,每一硬碟頁可存放200筆資料,以pNo及unitPrice為索引所建立的B+tree各有4層(含葉節點),試問以下語法, 將分別平均存取幾個硬碟頁?請列示計算過程。

申論題內容

(2)執行「 Select * from Product where unitPrice>z」(z為任意整數)(5分)

詳解 (共 1 筆)

詳解 提供者:adamhsu622
因為 unitPrice 被建立為 cluster 索引,所以其資料紀錄會以循序方式排列
假設資料表 100000筆紀錄全部符合 'unitPrice > z' 的條件,
故總共會有 100000/200 = 500 個硬碟頁
所以硬碟頁的存取數為 4 + 500 = 504
4 為 B+ tree 四層,每個節點為一個硬碟頁,故存取 4 次
接下來,再從葉節點透過資料指標找到第一筆符合紀錄的硬碟頁,接下來再存取剩下的硬碟頁,總共 500 次

補充:
此問題屬於 select 運算中的成本估計