イントロスペクションレベル
データベースにオブジェクト(テーブル、スキーマ、データベースなど)が多数存在する場合、イントロ スペクションに長時間かかることがあります。 一部のデータベースではシステムカタログが比較的遅く、高速カタログにアクセスする権限がない場合はイントロスペクションがさらに遅くなります。
通常、日常業務やコーディング支援では、すべてのオブジェクトのソースを読み込む必要はありません。 多くの場合、データベース名さえあれば、適切なコード補完とナビゲーションを実現できます。
DataGrip は イントロスペクションレベルを使用して、データベースのサイズに応じて読み込むメタデータの量を自動調整します。 また、タスクに最適なレベルを手動で選択することもできます。
イントロスペクションレベルは次のデータベースでサポートされています。
Oracle
MySQL
MariaDB
Microsoft SQL Server
PostgreSQL
Amazon Redshift
DataGrip には次のイントロスペクションレベルがあります:
レベル | 手動で設定されたレベル | 継承されたレベル | 説明 |
|---|---|---|---|
レベル 1 | インデックス列の名前およびプライベートパッケージ変数名を除く、すべてのサポート対象オブジェクトの名前とそのシグネチャー。 列データ型は | ||
レベル 2 | データベースオブジェクトのソースコードを除くすべて。 例: このレベルでルーチンを開くと、その宣言は表示されますが、本体は表示されません。 | ||
レベル 3 | すべて。 |
アイコンはイントロスペクションレベルを表します。ピルが多く塗りつぶされているほど、レベルが高くなります。 また、色も重要です。青いアイコンはイントロスペクションレベルが直接設定されていること、グレーは継承されていることを示します。
DataGrip で利用可能な一部のデータベースでは、IDE は フラグメントイントロスペクションをサポートしています。 これは、単一のオブジェクトのメタデータを取得する機能です。 これは、メタデータ(通常はソースコード)が明示的に要求される状況で役立ちます。 たとえば、ビューをダブルクリックした際にイントロスペクションレベルが低い場合、DataGrip はその場でソースコードを要求します。
単一オブジェクトのソースコードをリフレッシュする
オブジェクトを右クリックし、
リフレッシュ を選択します。 あるいは、 Ctrl+F5 を押します。

イントロスペクションレベルのデフォルト
デフォルトで、DataGrip は各スキーマの種類とオブジェクト数に基づき、既定のイントロスペクションレベルを自動的に設定します。 各スキーマごとにイントロスペクターがオブジェクト数をカウントし、N をオブジェクト数として次のしきい値に基づいてイントロスペクションレベルを選択します:
スキーマ | レベル 3 | レベル 2 | レベル 1 |
|---|---|---|---|
カレント | N <= 1000 | N <= 3000 | さもないと |
非現行 | しない | N <= 3000 | さもないと |
システム | しない | N <= 100 | さもないと |
現在のスキーマは、 セッションが接続されているスキーマです。
デフォルトを変更するには、 データソースおよびドライバー ダイアログ (Ctrl+Alt+Shift+S) を開き、 に移動して、データソースのデフォルトのイントロスペクションレベルを選択します。

イントロスペクションレベルの変更
データベース全体または特定のスキーマのいずれかにイントロスペクションレベルを設定できます。 スキーマはデータベースからイントロスペクションレベルを継承しますが、スキーマごとにレベルを個別に設定できます。
他のデータベースオブジェクトの場合、 イントロスペクションレベル コンテキストサブメニューにはオブジェクトの現在のイントロスペクションレベルが表示されます。
デフォルトでは、イントロスペクションレベルのアイコンは無効になっています。 個別に有効にすることができます: スキーマとその子(テーブル、ビュー、ルーチンなど)。
イントロスペクションレベルのアイコンを有効にする
データベースエクスプローラー (⌘ 1) ツールバーで、
表示オプション をクリックし、 イントロスペクションレベルのアイコン を選択します。


イントロスペクションレベルを変更する
データベースエクスプローラー (⌘ 1) 内のオブジェクトを右クリックし、 イントロスペクションレベル メニューを選択します。
イントロスペクションレベル メニューで、適用するレベルを選択します。
子は親に設定されたレベルを継承します。
データソース設定で 自動同期 オプションが有効になっている場合、イントロスペクションレベルを変更するとすぐにイントロスペクションが実行されます。 このオプションの詳細については、 データソースとドライバー ダイアログの自動同期を参照してください。