SELECT /*+ SET_VAR(tidb_max_bytes_before_tiflash_external_group_by=107374182400) */ @@tidb_max_bytes_before_tiflash_external_group_by; 不生效

【 TiDB 使用环境】生产环境
【 TiDB 版本】7.1.0
【复现路径】 SELECT /*+ SET_VAR(tidb_max_bytes_before_tiflash_external_group_by=107374182400) */ @@tidb_max_bytes_before_tiflash_external_group_by;
返回-1,而不返回107374182400

【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

有没有warnings。
show warnings;看一下呢

或者是否是因为注释导致的
连接串加个-c试试

版本问题

好的确实,我搞了一个7.1的环境也无法进行

那时候还没有是吧 :see_no_evil:

貌似bug

7.1.1 和 7.1.2版本 用
SELECT /*+ SET_VAR(tidb_max_bytes_before_tiflash_external_group_by =107374182400) */ @@tidb_max_bytes_before_tiflash_external_group_by; 都没有生效,
8.1版本可以

tidb_max_bytes_before_tiflash_external_group_by 从 v7.0.0 版本开始引入,默认值是-1,虽然官方显示
是受 Hint [SET_VAR] 控制的,但在7.1.0中测试确实不生效。

我建议你用 set来设置,如下:
SET tidb_max_bytes_before_tiflash_external_group_by = 107374182400;

因为这个是7.4才引入的

直接升级到715吧

好像715也不行mysql> SELECT /*+ SET_VAR(tidb_max_bytes_before_tiflash_external_group_by=107374182400) */ @@tidb_max_bytes_before_tiflash_external_group_by;
±--------------------------------------------------+
| @@tidb_max_bytes_before_tiflash_external_group_by |
±--------------------------------------------------+
| -1 |
±--------------------------------------------------+
1 row in set, 1 warning (0.19 sec)

mysql> select version();
±-------------------+
| version() |
±-------------------+
| 5.7.25-TiDB-v7.1.5 |
±-------------------+
1 row in set (0.70 sec)