プログラムでクエリキャッシュを削除する方法
これはInterSystems FAQ サイトの記事です。
%SYSTEM.SQL クラスの Purge* メソッドを使用して削除することが可能です。
※各メソッドの詳細は、以下ドキュメントをご参照ください。
①システム内のすべてのクエリキャッシュを削除する場合
Do $SYSTEM.SQL.PurgeAllNamespaces()
②ネームスペース内のクエリキャッシュを削除する場合
// ネームスペース内のすべてのクエリキャッシュを削除する
Do $SYSTEM.SQL.Purge()
// 日付指定してクエリキャッシュを削除する場合
// 以下は、過去30日間に使用されていないクエリキャッシュを削除
Do $SYSTEM.SQL.Purge(30)
③クエリキャッシュを指定して削除する場合
Do $SYSTEM.SQL.PurgeCQClass("%sqlcq.USER.cls13")
④特定テーブルのクエリキャッシュを削除する場合
Do $SYSTEM.SQL.PurgeForTable("MedLab.Patient")