시스템 테이블에 대한 보고

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기1분
  • 시스템 테이블은 기본적으로 보고 모듈에서 제한됩니다.

    이러한 테이블에는 다음이 포함되며 이에 국한되지는 않습니다.

    • 시스템 감사 [sys_audit]
    • 로그 [syslog]
    • 트랜잭션 로그 [syslog_transaction]
    • 첨부 파일 [sys_attachment]
    • 이메일 [sys_email]

    그 이유는 sys_audit 일반적으로 모든 인스턴스에서 가장 큰 테이블이기 때문입니다. 중간 규모의 인스턴스에서도 감사 테이블이 수 기가바이트가 되는 것은 드문 일이 아닙니다. 대규모 설치에서는 이 테이블이 50GB 이상일 수 있습니다.

    프로그래밍 방식으로 sys_audit 테이블에 액세스할 때 쿼리 패턴이 어떻게 표시되는지 알고 있으므로 쿼리와 일치하는 적절한 데이터 인덱스를 추가했습니다. 즉, 예를 들어 인시던트 기록을 가져올 때 데이터베이스는 인덱스를 사용하여 해당 쿼리에 필요한 수십 개의 행을 효율적으로 가져올 수 있습니다.

    그러나 자유 형식 보고를 사용하면 쿼리 패턴이 어떻게 보일지 예측할 수 없습니다. fieldname별로 그룹화하거나 oldvalue별로 정렬할 수 있습니다. 따라서 쿼리가 인덱싱된 쿼리가 아닐 수 있습니다. 최종 결과는 데이터베이스에 여러 기가 바이트 파일을 테이블 스캔하도록 요청하게됩니다.이 파일은 다음과 같은 이유로 좋지 않습니다.

    • 속도가 느리기 때문에 보고서를 실행하는 데 허용 할 수 없을 정도로 오랜 시간이 걸립니다.
    • 데이터베이스가 테이블을 스캔하는 동안 다른 쿼리가 필요한 자원을 얻을 수 없기 때문에 인스턴스가 느려지거나 사용할 수 없게 됩니다.

    시스템 테이블에 대해 보고해야 하는 경우 이를 속성에 추가할 glide.ui.permitted_tables 수 있습니다. 다음으로 이동 시스템 속성 > UI 속성 보고 가능한 시스템 테이블 목록("sys_"로 시작하고 쉼표로 구분됨)이라고 표시된 속성을 찾습니다. 기본적으로 시스템 테이블은 보고할 수 없습니다. 주의해서 진행하십시오.