附加表位掃描分析

簡介

附加表位掃描分析 [fù jiā biǎo wèi sǎo miáo fēn xī]
[生物學] epitope tag scanning analysis

附加表位掃描分析是一種類似於表位掃描分析的生物性質內分析的方法.

相關介紹

DB2/400中的表掃描簡介

1.表掃描的定義:按照記錄在表中存儲的次序來查找在查詢中指定的數據。

表掃描訪問方法按照表中所存的記錄讀取表中所有的行,選擇標準適用查詢條件的於每一行,只將符合標準的行返回到調用應用程式。表中的行不按特定的次序處理,如果您希望結果按特定順序排列,必須指定 ORDER BY 子句。

2.由於以下原因,表掃描可以非常有效:

它將頁面 I/O 操作的數目減至最少,因為是處理給定頁面中的所有行,而且一旦該頁在主存儲器中,將不再檢索它。

資料庫管理程式可輕易預測數據空間中的頁面順序,以便檢索。由於這個原因,資料庫管理程式可將頁面的異步 I/O 從輔助存儲器調度到主存儲器中。這通常稱為預讀取,執行預讀取是為了在資料庫管理程式需要存取數據時,此頁面在主存儲器中可用。

3.如何判斷一個查詢使用了表掃描。

PRTSQLINF 命令信息由 PRTSQLINF CL 命令創建的信息描述在 SQL 程式中使用數據空間選擇方法的查詢,這類信息如下所示:

SQL4010 Table scan access for table 1.

4.資料庫掃描原理

當處理表掃描時,特許內碼可使用兩種算法之一來進行選擇:派生列選擇和數據空間元素選擇。

派生列選擇算法:

DO UNTIL END OF TABLE

1. 找到下一行(或第一行)

2. 將所有列值映射到一個內部緩衝區,執行所有派生操作。

3. 將列值複製到內部緩衝區後,使用它們來估計選擇標準為

TRUE 還是 FALSE 值。

4. IF 此選擇為 TRUE

THEN

將這些值從內部緩衝區複製到用戶的應答緩衝區中。

ELSE

不執行操作

END

數據空間元素選擇:

DO UNTIL END OF TABLE

1. 計算搜尋限制。此限制常常是已經在有效記憶體中的行數,或是已經執行一個 I/O 請求將它裝入記憶體中。

2. DO UNTIL(達到搜尋限制或行選擇標準為 TRUE)

a. 找到下一行(或第一行)

b. 估計不直接需要數據空間行派生值的任何選擇標準。

END

3. IF 此選擇為 true

THEN

a. 將所有列值映射到一個內部緩衝區,執行所有派生操作。

b. 將這些值從內部緩衝區複製到用戶的應答緩衝區中。

ELSE

不執行操作

END

表掃描選擇算法提供比派生列選擇更好的性能,有兩個原因:

僅對選擇的行執行數據移動和計算。
表掃描選擇算法步驟 2 中的循環生成為可執行代碼串。當實際選擇的行數所占百分比較小時, DB2 UDB AS/400 版將運行此非常小的程式直到找到一行。
5.編寫查詢的準則

對於使用表掃描存取方法的表掃描選擇算法的查詢,不需要執行任何操作。任何查詢接口均可利用此改進。但下列準則確定是否可用選擇謂詞來完成數據空間選擇:謂詞的運算元不能是任何一種派生值、函式、子串、並置或數字表達式。

當選擇謂詞的兩個運算元均為數字列時,這兩列必須具有相同的類型、小數位和精度;否則,會將一個運算元映射為派生值。例如,DECIMAL(3,1)只能與另一個DECIMAL(3,1)列比較。

當選擇謂詞的一個運算元為數字列,而另一個運算元為常量或主變數時,則二者的類型必須相同,且常量/主變數的精度和小數位必須小於或等於此列的精度和小數位。
僅當表由 SQL CREATE TABLE 語句創建時,才可執行涉及壓縮十進制或數字類型列的選擇謂詞。
在選擇謂詞中不能引用變長字元列。
當選擇謂詞的一個運算元為字元列而另一個運算元為常量或主變數時,則主變數的長度不能大於此列的長度。
比較字元列數據不能要求 CCSID 轉換或鍵盤換檔轉換。
避免派生列選擇非常重要,因為用於表掃描選擇的 CPU 和回響時間可以大幅度降低,某些情況下可降低 70-80%。在數據空間選擇中獲益最大的查詢是表中實際所選行數不到 60%的那些查詢。所選行的百分比越低,性能效益越明顯。

6.表掃描存取方法何時最有效

當所選行數所占的百分比較高時,此選擇方法非常適用。大百分比通常是 20% 或更大的值。
當在表中選擇的行數所占百分比較低時,表掃描處理效率不高。因為要檢查表中的所有行,這既將導致對 I/O 和處理單元資源的不必要使用。

相關搜尋

熱門詞條

聯絡我們