習題11-1 |
---|
本章第一節描述巢狀迴圈法 (JNL) 的運作方式時,是假設資料庫系統的主記憶體很小,處理 Result = RR.A=S.BS 時,只能容納一個外部迴圈R 的資料頁,一個內部迴圈S 的資料頁,和一個Result 的資料頁。假設今天主記憶體裡可容納較多的資料頁,其中K 個資料頁給R,一個資料頁給S,和一個資料頁給Result, |
習題11-2 |
---|
考慮使用巢狀迴圈法 (JNL) 來處理Result = ProductProduct.pNo = Record.pNo
Record,其中 bProduct = 5000,bRecord = 3000,且Record 是當作外部迴圈。假設目前主記憶體裡共有6 個資料頁可供利用,其中一個給Result。請問以下每一種分配方式,其查詢處理成本為何? 1. 4 個資料頁給資料表 Product,1 個資料頁給資料表 Record。 2. 3 個資料頁給資料表 Product,2 個資料頁給資料表 Record。 3. 1 個資料頁給資料表 Product,4 個資料頁給資料表 Record。 |
習題11-3 |
---|
本章第一節描述巢狀迴圈法 (JNL) 的運作方式時,是假設資料庫系統的主記憶體很小,處理 Result = RR.A = S.B S 時,只能容納一個外部迴圈R 的資料頁,一個內部迴圈S 的資料頁,和一個Result 的資料頁。假設主記憶體裡可容納多餘的 K-1個資料頁,請問 1. 若這 K-1 個資料頁全數給 R (即R 在主記憶體裡可有K個資料頁),請問巢狀迴圈法的成本為何? 2. 若這 K-1 個資料頁全數給 S (即S 在主記憶體裡可有K個資料頁),請問巢狀迴圈法的成本為何? 3. 這些多餘的主記憶體資料頁應該給 R、S 或Result 比較划算? 4. 請按照成本最低的方式修改 (JNL) 的演算法。 |
習題11-4 |
---|
請描述如何用巢狀迴圈法 (JNL)、索引迴圈法 (JIL) 和排序合併法 (JSM) 來處理 LEFT OUTER JOIN (Result = RA = BS)。並列出其演算法的虛擬碼。 |
習題11-5 |
---|
考慮以下的查詢句: SELECT DISTINCT name FROM Author; 假設資料字典裡存了以下的資訊: rAuthor = 200000,bAuthor = 2000,且一個硬碟頁可以容納 200 個 Author.name 欄位值, 1. 描述PLS 的處理方式。 2. 假設排序n 個資料頁要存取2nlog2n 的硬碟頁,請計算利用PLS 來處理以上查詢句的成本。 |
習題11-6 |
---|
請用排序法來處理 R∪S,並寫出其演算法虛擬碼。 |
習題11-7 |
---|
考慮以下的關聯代數式: |
習題11-8 |
---|
若採用彙總索引結構搜尋 (AI) 的方式來處理 AVERAGE、COUNT、SUM、MAX 和MIN,請問哪些彙總函數的計算需要造訪所有葉節點,哪些則只需造訪一個葉節點? |
習題11-9 |
---|
考慮圖 10-4 處理 Q2 的查詢樹,假設你想用索引迴圈法 (JIL) 來處理JOIN,請問如何順便處理 SELECT 和 PROJECT,以有效率的得到正確的查詢結果? |
習題11-10 |
---|
考慮以下的查詢句: SELECT * FROM Product, Record WHERE Product.pNo=Record.pNo AND unitPrice > 300 AND amount > 1; 且 rProduct = 100,000,bProduct = 5,000,xunitPrice = 3,bI1unitPrice = 1,000,rRecord = 90,000,bRecord = 3,000。其中unitPrice 欄位為資料表Product 的群聚索引,此外,在資料表Record 裡,假設滿足 amount > 1 的記錄佔全部記錄的1/3。 1. 先利用 Product 的群聚索引 unitPrice 找出 unitPrice > 300 的第一個資料頁指標,接著利用巢狀迴圈法 (JNL) 來處理此查詢句,其中外部迴圈為unitPrice> 300 的 Product 資料頁,而內部迴圈為Record 資料頁,但只比對 amount > 1的 Record 記錄,請估算其成本。 2. 先利用 Product 的群聚索引 unitPrice 找出滿足 unitPrice > 300 的第一個資料頁指標,然後,接著利用循序搜尋找出滿足 amount > 1 的 Record 記錄並將之寫入暫時資料表 LargeRec,接著利用巢狀迴圈法 (JNL) 來處理此查詢,其中外部迴圈為滿足 unitPrice > 300 的 Product 資料頁,而內部迴圈為 LargeRec資料頁,請估算其成本。 3. 以上哪一種方式的成本較低? |