Skip to content
Open
Changes from all 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
40 changes: 36 additions & 4 deletions faq/manage-cluster-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,20 +223,18 @@ TiDB 在执行 SQL 时,预估出来每个 operator 处理了超过 10000 条

要预估 TiDB 中一张表的大小,你可以参考使用以下查询语句:

{{< copyable "sql" >}}

```sql
SELECT
db_name,
table_name,
ROUND(SUM(total_size / cnt), 2) Approximate_Size,
ROUND(SUM(total_size / cnt), 2) Approximate_Size_Mb,
ROUND(SUM(total_size / cnt / (SELECT
ROUND(AVG(value), 2)
FROM
METRICS_SCHEMA.store_size_amplification
WHERE
value > 0)),
2) Disk_Size
2) Disk_Size_Mb
FROM
(SELECT
db_name,
Expand Down Expand Up @@ -264,6 +262,40 @@ GROUP BY db_name , table_name;
- `Approximate_Size` 表示压缩前表的单副本大小,该值为估算值,并非准确值。
- `Disk_Size` 表示压缩后表的大小,可根据 `Approximate_Size` 和 `store_size_amplification` 得出估算值。

### 如何预估 TiDB 中单库的大小?

```sql
SET @dbname = 'test';

SELECT
db_name,
ROUND(SUM(total_size / cnt), 2) AS approximate_size_mb,
ROUND(
SUM(total_size / cnt / (
SELECT AVG(value)
FROM metrics_schema.store_size_amplification
WHERE value > 0
)),
2
) AS disk_size_mb
FROM (
SELECT
db_name,
region_id,
SUM(approximate_size) AS total_size,
COUNT(*) AS cnt
FROM information_schema.tikv_region_status
WHERE db_name = @dbname
GROUP BY db_name, region_id
) t
GROUP BY db_name;
```
- `store_size_amplification` 表示集群压缩比的平均值。除了使用 `SELECT * FROM METRICS_SCHEMA.store_size_amplification;` 语句进行查询以外,你还可以查看 Grafana 监控 **PD - statistics balance** 面板下各节点的 `Size amplification` 指标来获取该信息,集群压缩比的平均值即为所有节点的 `Size amplification` 平均值。
- `Approximate_Size` 表示压缩前库的单副本大小,该值为估算值,并非准确值。
- `Disk_Size` 表示压缩后表的大小,可根据 `Approximate_Size` 和 `store_size_amplification` 得出估算值。
- 注意: PD 默认支持 cross-table merge,同一个 Region 可能同时映射到多张表,所以这样估算。


## TiKV 管理

本小节介绍 TiKV 管理中的常见问题、原因及解决方法。
Expand Down