@@tidb_enforce_mpp 是一个session变量我如何持久化的更改他的值

@@tidb_enforce_mpp 是一个session变量我如何持久化的更改他的值

tidb_enforce_mpp 从 v5.1 版本开始引入

  • 作用域:SESSION
  • 类型:布尔型
  • 默认值:OFF(表示关闭)。如需修改此变量的默认值,请配置 performance.enforce-mpp 参数。
  • 这个变量用于控制是否忽略优化器代价估算,强制使用 TiFlash 的 MPP 模式执行查询,可以设置的值包括:
    • 0 或 OFF,代表不强制使用 MPP 模式(默认)
    • 1 或 ON,代表将忽略代价估算,强制使用 MPP 模式。注意:只有当 tidb_allow_mpp=true 时该设置才生效。

官方文档:https://docs.pingcap.com/zh/tidb/v7.2/system-variables#tidb_enforce_mpp-从-v51-版本开始引入

1 个赞

1、session变量不能持久化更改
2、参照文档,可以修改配置文件实现持久化的更改,即配置performance.enforce-mpp参数

1 个赞

要持久化更改 TiDB 中的会话(session)变量,可以使用 SET GLOBAL 命令将其设置为全局变量。请注意,不是所有的会话变量都可以被设置为全局变量,因此在执行此操作之前,请确保了解相关变量是否支持全局设置。

要将 @@tidb_enforce_mpp 设置为全局变量,可以按照以下步骤操作:

打开的 TiDB 客户端(例如,使用 mysql 命令行工具)。

使用以下命令将 @@tidb_enforce_mpp 设置为全局变量并指定想要的新值:


SET GLOBAL tidb_enforce_mpp = '新值';

请将 ‘新值’ 替换为希望设置的实际值。

执行上述命令后,TiDB 将会将 @@tidb_enforce_mpp 的新值持久化,以确保在重启后仍然有效。

请注意以下几点:

需要具有适当的权限才能执行 SET GLOBAL 命令。通常,这需要具有 SUPER 权限的用户。

更改某些全局变量可能会影响整个 TiDB 集群的性能和行为,因此在进行更改之前请确保了解变量的含义和影响。

需要重启 TiDB 服务器才能使全局变量的更改生效。在重启之前,请确保在生产环境中考虑到停机时间。

如果希望在每次 TiDB 服务器启动时都自动应用这些全局变量更改,可以将它们添加到 TiDB 配置文件(通常是 tidb.toml)中。

  • 作用域:SESSION 的不能全局修改,也不能持久化

:yum:看着这么像AI回复呢

只能session级别修改的参数这么回答感觉离谱了

关于【系统变量】的设定,其实可以直接在官方文档系统变量页面进行搜索哦~ 方便准确~!

1 个赞

是的,就是太离谱了,所以觉得像AI