1

このクエリは、クライアント データベースの Sybase v10 で非常に遅く実行されているようです (400 万レコードで 25 秒!)。

Select max(tnr) from myTable; 

tnr が主キーです。

ただし、サーバーで 1000x を実行すると、高速 (15 ミリ秒...) のように見えるため、クエリ結果がキャッシュされているためだと思われます。この問題を再現するために、Sybase でこのクエリ (またはデータベース全体) のキャッシュを無効にする方法はありますか?

私は試した:

call sa_flush_cache ();
call sa_flush_statistics ();

しかし、うまくいかなかったようです。

4

2 に答える 2

1

残念ながら、dbcc cacheremove は機能しません。キャッシュからページをクリアするのではなく、ディスクリプタを削除して空きチェ​​ーンに戻すためです。

データ サーバーを再起動する以外に、これを行う唯一の方法は、オブジェクトをキャッシュにバインドし、テストを実行してから、キャッシュからすべてのページを削除するオブジェクトのバインドを解除することです。

于 2009-02-16T12:30:40.813 に答える
0

試すdbcc cacheremove

于 2009-02-11T23:29:29.240 に答える