Sybase的數據有table pages和index pages,最小分配單位為pages,不同的鎖模式對于table pages和index pages有不同的表現,具體如下:
|
如上表所示:
1、AllPages鎖模式對于并發的限制最高,他對index pages和table pages都加頁鎖(當頁被鎖住的時候,頁上的所有rows都不能被其他session訪問)
2、DataPages對table pages加頁鎖
3、DataRows:強烈建議用這個鎖模式,對于oltp應用,如果用前兩種鎖模式會導致頻繁死鎖
另外,DataPages和DataRows對于index pages的控制采用latch方式,一種輕量級的鎖機制(熟悉Oracle會比較清楚)
對于Sybase ASE來說,鎖是非常寶貴的資源,不要長時間持有鎖,所以一般我們在寫應用的時候盡量減少長事務。
注:Sybase ASE缺省的事務隔離級別為Read Committed。
新聞熱點
疑難解答