闪回表
相关参数
- FLASHBACK TABLE: 在垃圾回收⽣命周期窗⼝之内还原被丢弃的表和数据
- tikv_gc_safe_point:通过这个变量查看这个窗口,垃圾回收的安全点,时间点之前不能flashback,但这个时间点之后的可以
示例
mysql> select * from r1;
+------+
| id |
+------+
| 1 |
+------+
1 row in set (0.01 sec)
mysql>
mysql> select count(*) ,now() from r1;
+----------+---------------------+
| count(*) | now() |
+----------+---------------------+
| 1 | 2023-05-18 23:24:21 |
+----------+---------------------+
1 row in set (0.03 sec)
mysql> drop table test.r1; # 在这个时间点20230518-23:12:42 之后即使drop,也能flashback找到。如果是在这个时间点之前drop,则找不回。 类似oracle
Query OK, 0 rows affected (0.53 sec)
mysql>
mysql> select * from mysql.tidb where variable_name='tikv_gc_safe_point';
+--------------------+-------------------------+--------------------------------------------------------------+
| VARIABLE_NAME | VARIABLE_VALUE | COMMENT |
+--------------------+-------------------------+--------------------------------------------------------------+
| tikv_gc_safe_point | 20230518-23:12:42 -0400 | All versions after safe point can be accessed. (DO NOT EDIT) |
+--------------------+-------------------------+--------------------------------------------------------------+
1 row in set (0.01 sec)
mysql> flashback table test.r1 to r2;
Query OK, 0 rows affected (0.61 sec)
mysql> select count(*) from test.r2;
+----------+
| count(*) |
+----------+
| 1 |
+----------+
1 row in set (0.01 sec)