1:ASE中有兩種事務模式
a: Chained Mode
b:unChained Mode(Sybase默認)
unchained mode顯示的開始一個事務,chained隱式的開始一個事務
unchained mode 使用'commint tran', 'rollback tran'
chained mode 使用'commint work ', 'rollback work'
unchained mode 支持嵌套事務,chained mode不支持S y b a s e默認模式是運行在u n c h a i n e d模式,在該模式下,所有事務都必須清楚地以BEGIN TRANSACTION開始,并以R O L L B A C K T R A N S A C T I O N或C O M M I T T R A N S A C T I O N來結尾。
Sybase Adaptive Server在c h a i n e d模式下,允許對有COMMIT TRANSACTION語句而無相應BEGIN TRANTRANSACTION語句的存儲過程進行編譯。
2:Locking schema
a: All pages table, will lock data and index as they are accessed(可以有clustered index)
b: A Datapages table will lock datpages as they are accessed, index will not be locked(無clustered index)
c: A DataRow table will lock datpages as they are accessed, index will not be locked(無clustered index)
3:Locking type
ASE中最重要的三種lock type是
a:shared locks(select , fetch)
b:update locks(fetch ,update, delete)
c:exclusive locks(insert , update, delete)
4:隔離級別
ASE中一共有四種隔離級別
a:isolation level 0 (read uncommited),允許脹讀
b:isolation level 1 (read comminted)(ASE DEFAULT), 不允許脹讀
c:isolation level 2 (repeatable read),可重復讀
d:isolation level 3 (serializable), 不允許幻影讀
sql 代碼
?
5:如何編寫高效的transaction
For OLTP transaction
a:使transaction盡可能的短
b:使用index來隨機訪問數據
c:只有在必要的時候才使用transaction
d:選取合適的Lock type和隔離級別
e:使用樂觀鎖