Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions sql-plan-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -472,6 +472,22 @@ SHOW binding_cache status;
1 row in set (0.00 sec)
```

### 绑定使用情况统计

从 v8.5.4 和 v9.0.0 开始,TiDB 引入了 [`tidb_enable_binding_usage`](/system-variables.md#tidb_enable_binding_usage-new-in-v854-and-v900) 系统变量,用于控制是否收集 SQL 执行计划绑定的使用统计信息。

当此变量设置为 `ON` 时,TiDB 会每六个小时将绑定使用情况的统计信息写入 `mysql.bind_info` 表。 你可以使用这些统计信息来识别未使用的绑定,并优化绑定管理策略,例如删除不再需要的绑定或调整现有绑定以提高查询性能。

```sql
SELECT sql_digest, last_used_date FROM mysql.bind_info LIMIT 1;

+------------------------------------------------------------------+----------------+
| sql_digest | last_used_date |
+------------------------------------------------------------------+----------------+
| 5d3975ef2160c1e0517353798dac90a9914095d82c025e7cd97bd55aeb804798 | 2026-10-21 |
+------------------------------------------------------------------+----------------+
```

## 利用 Statement Summary 表获取需要绑定的查询

[Statement Summary](/statement-summary-tables.md) 的表中存放了近期的 SQL 相关的执行信息,如延迟、执行次数、对应计划等。你可以通过查询 Statement Summary 表得到符合条件查询的 `plan_digest`,然后[根据历史执行计划创建绑定](/sql-plan-management.md#根据历史执行计划创建绑定)。
Expand Down
9 changes: 9 additions & 0 deletions system-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -1765,6 +1765,15 @@ mysql> SELECT job_info FROM mysql.analyze_jobs ORDER BY end_time DESC LIMIT 1;
- 默认值:`OFF`
- 该变量控制是否启用废弃的 batch-dml 特性。启用该变量后,部分语句可能会被拆分为多个事务执行,这是非原子性的,使用时需谨慎。使用 batch-dml 时,必须确保正在操作的数据没有并发操作。要使该变量生效,还需要为 `tidb_batch_dml_size` 指定一个正值,并启用 `tidb_batch_insert` 和 `tidb_batch_delete` 中的至少一个。

### `tidb_enable_binding_usage` <span class="version-mark">从 v8.5.4 和 v9.0.0 版本开始引入</span>

- 作用域: GLOBAL
- 是否持久化到集群: 是
- 是否受 Hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value) 控制:否
- 类型:布尔型
- 默认值:`ON`
- 该变量控制是否收集 SQL 执行计划绑定的使用统计信息。当设置为 `ON` 时,TiDB 会每六个小时将 SQL 执行计划绑定的使用统计信息写入 `mysql.bind_info` 表。

### `tidb_enable_cascades_planner`

> **警告:**
Expand Down
Loading