2011-03-23 60 views
0

我有一個參考代碼表,它只能在正常使用期間讀取,並且它僅適用於產品更改(每月)。適用於參考代碼的最佳Sybase ASE表鎖定方案表

我應該在create table語句中使用哪些表鎖定?

我假定ALLPAGES,因爲它保持ASE需要管理的讀鎖的總數量;但是我從項目的另一位開發人員那裏得到了不同的「建議」。

我看到DB中使用ALLPAGES的其他參考表;但他們從12.5升級,它可能是當時可用的。

表格不是很寬,它有兩個數字代碼id列和一個char(1)列,並且聚集在兩個數字代碼上。

回答

0

我只有明顯的答案 - 首先運行sp_object_stats並選擇鎖定方案。

+0

謝謝,我會要求在我們的質量檢查驗收測試期間運行。我希望能有一個MDA表格查詢在測試運行結束時給出總結。 – Rawheiser 2011-03-25 18:07:53

0

如果參考表僅用於讀取,則所有頁面鎖定是最好的,因爲它佔用的鎖數最少(您說過),並且在讀取數據時進程獲取的共享鎖沒有衝突。

只是爲了給你一個關於性能的提示:總是嘗試通過共同相關的子查詢使用引用表來利用子查詢緩存。還要記住,子查詢緩存只有在子查詢沒有被優化器壓扁並且沒有轉換回常規連接時纔會發生。確保子查詢不變的技巧是在屬性上使用聚合函數,如max(attr)。最大功能只是虛擬的,沒有任何「分組依據」。