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

自省级别默认值
默认情况下, PyCharm 会根据架构类型和对象数量,自动为每个架构设置默认自省级别。 对于每个架构,自省器会统计对象数量,并根据以下阈值选择自省级别,其中 N 表示对象数量:
架构 | 级别 3 | 级别 2 | 级别 1 |
|---|---|---|---|
当前 | N <= 1000 | N <= 3000 | 否则 |
非当前 | 从不 | N <= 3000 | 否则 |
系统 | 从不 | N <= 100 | 否则 |
要更改默认值,请打开 数据源和驱动程序 对话框(Shift+Enter ),转到 ,然后为您的数据源选择默认自省级别。

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


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