10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 41.5 mb
PDF (A4)- 41.6 mb
手册页(TGZ)- 262.1 kb
手册页(邮政编码)- 372.2 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

28.4.2.1 sys_config表

此表包含sys架构配置选项,每个选项一行。通过更新该表所做的配置更改在客户端会话和服务器重启之间保持不变。

sys_config表有这些列:

  • 变量

    配置选项名称。

  • 价值

    配置选项值。

  • set_time

    该行最近修改的时间戳。

  • set_by

    对行进行最近修改的帐户。这个值是方法之后未更改过的行sys模式安装。

作为一种降低直接读取次数的效率措施sys_config表格sys使用此表中的值的Schema函数检查具有相应名称的用户定义变量,即具有相同名称加a的用户定义变量@sys。前缀。(例如,对应的变量diagnostics.include_raw选择是@sys.diagnostics.include_raw.)如果用户定义的变量存在于当前会话中,且为非的值,函数优先使用其值sys_config表格否则,函数从表中读取并使用值。在后一种情况下,调用函数还按惯例将相应的用户定义变量设置为表值,以便在同一会话中对配置选项的进一步引用使用该变量,而不需要再次读取表。

例如,statement_truncate_len控件返回的语句的最大长度format_statement ()函数。默认值是64。要将当前会话的值临时更改为32,请设置相应的值@sys.statement_truncate_len用户定义的变量:

mysql> SET @stmt = 'SELECT variable, value, set_time, set_by FROM sys_config';mysql >选择sys.format_statement (@stmt);+----------------------------------------------------------+ | sys.format_statement (@stmt ) | +----------------------------------------------------------+ | 选择变量值、set_time set_by sys_config  | +----------------------------------------------------------+ mysql > @sys设置。statement_truncate_len = 32;mysql >选择sys.format_statement (@stmt);+-----------------------------------+ | sys.format_statement (@stmt ) | +-----------------------------------+ | 选择variabl…罗sys_config  | +-----------------------------------+

后续调用的format_statement ()在会话中继续使用用户定义的变量值(32),而不是存储在表(64)中的值。

若要停止使用用户定义的变量并恢复使用表中的值,请将该变量设置为在你的会议:

mysql > @sys设置。statement_truncate_len =零;mysql >选择sys.format_statement (@stmt);+----------------------------------------------------------+ | sys.format_statement (@stmt ) | +----------------------------------------------------------+ | 选择变量值、set_time set_by sys_config  | +----------------------------------------------------------+

或者,结束当前会话(导致用户定义的变量不再存在)并开始一个新的会话。

传统的关系描述了选项之间的关系sys_config可以利用表变量和用户定义变量进行临时配置更改,这些更改在会话结束时结束。但是,如果您设置了一个用户定义的变量,然后在同一会话中更改相应的表值,那么只要用户定义的变量以非-形式存在,就不会在该会话中使用更改的表值价值。更改后的表值用于未分配用户定义变量的其他会话。)

的选项sys_config表和相应的用户定义变量:

  • diagnostics.allow_i_s_tables@sys.diagnostics.allow_i_s_tables

    如果此选项为,诊断()方法上执行表扫描INFORMATION_SCHEMA。表表格如果有很多表,这可能会非常昂贵。默认值是

  • diagnostics.include_raw@sys.diagnostics.include_raw

    如果此选项为,诊断()方法的原始输出指标视图。默认值是

  • ps_thread_trx_info.max_length@sys.ps_thread_trx_info.max_length

    类生成的JSON输出的最大长度ps_thread_trx_info ()函数。缺省值是65535。

  • statement_performance_analyzer.limit@sys.statement_performance_analyzer.limit

    对于没有内置限制的视图,返回的最大行数。(例如,statements_with_runtimes_in_95th_percentileView有一个内置的限制,即它只返回平均执行时间在第95百分位的语句。)默认值是100。

  • statement_performance_analyzer.view@sys.statement_performance_analyzer.view

    控件要使用的自定义查询或视图statement_performance_analyzer ()方法调用它本身诊断()程序)。如果选项值包含空格,则将其解释为查询。否则,它必须是查询Performance Schema的现有视图的名称events_statements_summary_by_digest表格不可能有任何限制子句中的statement_performance_analyzer.limit配置选项大于0。默认值是(没有定义自定义视图)。

  • statement_truncate_len@sys.statement_truncate_len

    方法返回的语句的最大长度format_statement ()函数。较长的语句被截断为这个长度。默认值是64。

可以将其他选项添加到sys_config表格例如,诊断()而且execute_prepared_stmt ()程序使用调试选项,但此选项不是sys_config表默认,因为调试输出正常是临时启用的,通过设置相应的@sys.debug用户定义的变量。要启用调试输出,而不必在单独的会话中设置该变量,将选项添加到表中:

mysql> INSERT INTO sys。sys_config(variable, value) VALUES('debug', 'ON');

要更改表中的调试设置,需要做两件事。首先,修改表本身的值:

mysql >更新系统。sys_configSET value = 'OFF' WHERE variable = 'debug';

其次,为了确保当前会话中的过程调用使用表中更改的值,将相应的用户定义变量设置为

SET @sys.debug = NULL;