内省级别
如果对象数量较多(如表、架构、数据库等),数据库用户可能会遇到较长的内省时间。 内省 是获取数据库元数据的过程,例如对象名称、列类型和源代码。 GoLand 使用这些信息提供代码辅助、导航和搜索功能。
对于某些数据库,系统目录相对较慢,若用户无权访问快速目录,则内省将更慢。
通常,日常工作与代码辅助不需要加载所有对象的源代码。 在许多情况下,仅获取数据库名称就足以进行正确的代码补全与导航。 GoLand 提供以下内省级别:
级别 | 手动设置的级别 | 继承的级别 | 说明 |
|---|---|---|---|
级别 1 | 所有受支持对象及其签名的名称,但不包括索引列名称和私有包变量名称。 | ||
级别 2 | 除数据库对象的源代码以外的所有内容。 例如,在此级别中打开一个例程时,将看到其声明但不会看到其主体。 | ||
级别 3 | 全部内容。 |
图标表示内省级别:药丸填充得越多,级别越高。 颜色也有含义:蓝色图标表示直接设置了内省级别,灰色表示该级别是继承而来。
在 GoLand 中提供的某些数据库支持 片段内省。 这是指能够检索单个对象的元数据。 在明确请求元数据(通常是源代码)的情况下,此功能非常有用。 例如,在双击某个视图时,如果内省级别较低,GoLand 将立即请求该视图的源代码。
刷新单个对象的源代码
右键点击对象并选择
刷新。 或者按 Ctrl+F5。

内省级别默认值
默认情况下,GoLand 会根据架构类型及其对象数量自动设置每个架构的内省默认级别。 对于每个架构,内省器会计算对象数量,然后依据下表中阈值来选择内省级别,其中 N 表示对象数量:
架构 | 级别 3 | 级别 2 | 级别 1 |
|---|---|---|---|
当前 | N ≤ 1000 | N ≤ 3000 | 其它情况 |
非当前 | 从不 | N ≤ 3000 | 其它情况 |
系统 | 从不 | N ≤ 100 | 其它情况 |
要更改默认设置,请打开 数据源和驱动程序 对话框(Shift+Enter ),导航至 ,并为数据源选择默认的内省级别。

更改内省级别
您可以为整个数据库或特定架构设置内省级别。 架构会继承数据库的内省级别,但也可以为每个架构单独设置级别。
对于其他数据库对象, 内省级别 上下文子菜单会显示该对象当前的内省级别。
默认情况下,内省级别图标处于禁用状态。 您可以分别启用它们:适用于架构及其子对象(表、视图、例程等)。
启用内省级别图标
在 数据库 工具窗口工具栏中,点击
查看选项 并选择 内省级别图标。


更改内省级别
在 数据库 工具窗口中右键点击一个对象,并选择 内省级别 菜单。
在 内省级别 菜单中选择要应用的级别。
子项继承为父项设置的级别。
请注意,如果在数据源设置中启用了 自动同步 选项,则在更改内省级别后将立即运行内省。 有关该选项的更多信息,请参见 数据源和驱动程序 对话框中的自动同步。