# 数据恢复前置条件 - GC

+ `SET GLOBAL tidb_gc_life_time = “60m”;`
  
![left](./student-guide/diagram/22-GC-01-01.png)

+ 查询 GC 已经清理的时间点
  + `SELECT * FROM mysql.tidb WHERE variable_name = 'tikv_gc_safe_point';`

-------------------------------------------------------------

默认配置下，GC 每 10 分钟触发一次，每次 GC 会保留最近 10 分钟内的数据（即默认 GC life time 为 10 分钟，safe point 的计算方式为当前时间减去 GC life time）。
数据恢复的前置条件是：要恢复的数据的时间点（safe point）未被 GC 掉。可以使用以下 SQL 语句查询当前的 safePoint， 即 GC 已经清理到的时间点：
SELECT * FROM mysql.tidb WHERE variable_name = 'tikv_gc_safe_point';

只要 DML 或 DDL 的操作是在 tikv_gc_safe_point 时间之后，理论上均可以进行数据的快速恢复。

所以，一旦遇到基于 MVCC 的快速恢复，那么第一个动作是调整 GC 时间，避免要恢复的目标历史数据的 MVCC 被清理掉：
SET GLOBAL tidb_gc_life_time="60m";

