投稿者

インターシステムズジャパン
記事 Toshihiko Minamoto · 4月 7 2m read

古いSQLステートメント/統計情報(あるいは:なぜ膨大な^rINDEXSQLグローバルが存在するのでしょう?)

データベースを確認したところ、巨大な^rINDEXSQLグローバルが存在しているようですが、これはなぜでしょうか? 😬

管理ポータルのSQLページにおいて、「SQLステートメント」の下に「古いデータをクリーンアップ」ボタンがおりますが、これはどのような機能でしょうか? 🤔

ステートメントのリストにおいて、一部のステートメントには「Location」値が設定されていますが、他のステートメントには設定されていないようです。これはどうしてでしょう? 🤨

そうですね、確かにこれらはすべて関連しています。

一般的に、実行されたSQLクエリに関する基本的な統計情報 は保持しております。 キャッシュされたSQLクエリを削除する際、ステートメントリスト内のステートメントエントリ自体は削除せず、統計情報は保持いたします(将来の比較に役立つ可能性があるためです)。ただし、ロケーション列は「クリア」します(既存のキャッシュ済みクエリを指さなくなるためです)。 これらの「古い」ステートメント(もはやどこも指していないもの)をクリーンアップしたい場合は、「古いステートメントをクリーンアップ」ボタンを押することができます。

以下のような表示になります(システムエクスプローラー -> SQL -> SQLステートメント):

[注記:旧バージョン(例:v2020.1)では、これらのステートメントをクリーンアップするバックグラウンド タスク(「SQL インデックスのクリーンアップ - 古くなった SQL ステートメント インデックス エントリのクリーンアップ」)、 関連情報については、こちらもご参照ください。 ただし、この機能は新しいバージョンでは削除されております。詳細はMAK5205]をご参照ください。

元の記事へ さんが書いた @Tani Frankel