2009-02-11 33 views
1

該查詢似乎運行慢得令人難以置信(25秒400萬條記錄!)上的Sybase V10在客戶數據庫:慢查詢/禁用緩存 - Sybase Adaptive Server的

Select max(tnr) from myTable; 

隨着TNR是主鍵。

但是,如果我在我們的服務器上運行它1000x,它似乎走得很快(15毫秒......),這使我認爲這是因爲查詢結果被緩存。有沒有辦法在Sybase中禁用此查詢(或整個數據庫)的緩存來重現此問題?

我想:

call sa_flush_cache(); 
call sa_flush_statistics(); 

但似乎並沒有這樣的伎倆。

+0

也許問題不是您的結果被緩存,而是您的客戶端服務器存在問題 – 2009-02-11 14:13:21

+0

也許檢查兩個查詢計劃以確保它們都使用任何適用的索引。 MAX()查詢通常受益於後向索引掃描。 – Allethrin 2009-02-12 05:48:15

回答

1

不幸的是DBCC cacheremove是行不通的,因爲它沒有明確下來從緩存中的網頁,而是消除了描述,並把它放回自由連鎖。

除了重新啓動數據服務器,唯一的方法是將對象綁定到緩存,然後執行測試,然後解除綁定將從緩存中刪除所有頁面的對象。