제품 동향
show status like '%backquery%'을 실행하여 조회).SELECT ... FROM <테이블명>AS OF TIMESTAMP <시간>;
MySQL [test]> create table t1(id int,c1 int) engine=innodb;Query OK, 0 rows affected (0.06 sec)MySQL [test]> insert into t1 values(1,1),(2,2),(3,3),(4,4);Query OK, 4 rows affected (0.01 sec)Records: 4 Duplicates: 0 Warnings: 0MySQL [test]> select now();+---------------------+| now() |+---------------------+| 2024-10-18 16:01:01 |+---------------------+1 row in set (0.00 sec)MySQL [test]> delete from t1 where id=4;Query OK, 1 row affected (0.00 sec)MySQL [test]> select * from t1;+------+------+| id | c1 |+------+------+| 1 | 1 || 2 | 2 || 3 | 3 |+------+------+3 rows in set (0.00 sec)MySQL [test]> select * from t1 as of timestamp '2024-10-18 16:01:01';+------+------+| id | c1 |+------+------+| 1 | 1 || 2 | 2 || 3 | 3 || 4 | 4 |+------+------+4 rows in set (0.00 sec)
create table t3 select * from t1 as of timestamp '2024-10-18 16:01:01';
insert into t4 select * from t1 as of timestamp '2024-10-18 16:01:01';
매개변수 이름 | 파라미터 범위 | 유형 | 기본값 | 값 범위 | 재시작 필요 여부 | 설명 |
Innodb_backquery_enable | 전역 파라미터 | Boolean | OFF | ON\\OFF | 아니요 | 플래시백 쿼리 기능의 스위치입니다. |
Innodb_backquery_window | 전역 파라미터 | Integer | 900 | 1 - 86400 | 아니요 | 플래시백 쿼리가 지원하는 시간 범위로 단위는 초(second)입니다. 이 파라미터 값이 클수록 플래시백 쿼리가 지원하는 이력 데이터 조회 기간이 길어지지만, 동시에 undo 테이블스페이스가 차지하는 스토리지 공간도 증가합니다. |
Innodb_backquery_history_limit | 전역 파라미터 | Integer | 8000000 | 1 - 9223372036854476000 | 아니요 | 언두 이력 연결 리스트 길이 제한으로, 설정값을 초과하면 Innodb_backquery_window가 트리거하는 purge가 무시되며, 이력 연결 리스트 길이가 설정값 미만으로 낮아질 때까지 유지됩니다. |
피드백