COBOL-DB2 程式如何受不可重複讀(NON-REPEATABLE READ)和幻讀(PHANTOMS)的影響?


當 COBOL-DB2 程式多次執行相同的查詢時,如果每次查詢結果都不同,則會出現不可重複讀(NON-REPEATABLE READ)的情況。這種情況通常發生在兩個 COBOL-DB2 程式訪問 DB2 表的同一行時。

第一個程式讀取該行,然後第二個程式讀取同一行,更新它並提交更改。第一個程式再次讀取同一行,但現在資料與之前的獲取不匹配。

當查詢結果中的行數在多次執行查詢時不匹配時,就會出現幻讀(PHANTOM)情況。

例如,如果程式 A 使用某些 WHERE 條件執行查詢,並在結果中獲得 3 行。現在,程式 B 在同一表中插入一行新資料,並且新行屬於程式 A 使用的查詢謂詞。

最後,程式 A 執行相同的查詢,並在結果中獲得總共 4 行。這多出來的 1 行被稱為幻讀。

更新於: 2020-11-30

575 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.