非序列化排程(Non-serial
Schedule):是指多個異動交易同時交錯地執行,然而個別異動交易內各動作(Action),仍遵守它在該異動交易內的先後順序。假設兩種異動交易
T1,T2 其中 T1 有 X1,X2 兩個動作(Action),T2 有 Y1,Y2 兩個動作,則它們有
(X1 , X2 , Y1 , Y2)、(X1 , Y1 , X2 , Y2)、(X1 , Y1 , Y2
, X2)、(Y1 , X1 , Y2 , X2)、(Y1 , X1 , X2 , Y2)、(Y1 , Y2
, X1 , X2) 等 6 種非序列化排程。雖然非序列化排程可使多個異動交易並行處理,但是卻不能保證資料庫系統的一致性,前面三個並行控制的常見問題,即是最好的例子。因此,我們若能有一非序列化排程,其執行結果與序列化排程執行的結果一樣的話,則我們一定可能確保該排程必能保持資料庫的一致性。 |