시스템 테이블에 대한 보고
시스템 테이블은 기본적으로 보고 모듈에서 제한됩니다.
이러한 테이블에는 다음이 포함되지만 이에 국한되지는 않습니다.
- 시스템 감사 [
sys_audit] - 로그 [
syslog] - 트랜잭션 로그[
syslog_transaction] - 첨부 파일 [
sys_attachment] - 이메일[
sys_email]
그 이유는 sys_audit 가 일반적으로 모든 인스턴스에서 가장 큰 테이블이기 때문입니다. 중간 규모의 인스턴스에서도 감사 테이블이 몇 기가바이트인 것은 드문 일이 아닙니다. 대규모 설치에서 이 테이블은 50GB 이상일 수 있습니다.
프로그래밍 방식으로 sys_audit 테이블에 액세스하면 쿼리 패턴이 어떻게 생겼는지 알 수 있으므로 쿼리와 일치하는 적절한 데이터 인덱스를 추가했습니다. 즉, 예를 들어 인시던트 기록을 가져올 때 데이터베이스는 인덱스를 사용하여 해당 쿼리에 필요한 수십 개의 행을 효율적으로 가져올 수 있습니다.
그러나 자유 형식 보고를 사용하면 쿼리 패턴이 어떻게 나타날지 예측할 수 없습니다. 필드 이름별로 그룹화하거나 oldvalue별로 정렬할 수 있습니다. 따라서 쿼리가 인덱싱 된 쿼리가 아닐 수 있습니다. 결과적으로 데이터베이스에 수 기가바이트 파일을 테이블 스캔하도록 요청하게 되는데, 이는 다음과 같은 이유로 좋지 않습니다.
- 속도가 느리기 때문에 보고서를 실행하는 데 허용할 수 없을 정도로 오랜 시간이 걸립니다.
- 데이터베이스가 테이블을 스캔하는 동안에는 다른 쿼리가 필요한 리소스를 가져올 수 없기 때문에 인스턴스가 느려지거나 사용할 수 없게 됩니다.
시스템 테이블에 대해 보고해야 하는 경우 속성에 glide.ui.permitted_tables 추가할 수 있습니다. 다음으로 이동 을 클릭하고 보고 가능한 시스템 테이블 목록("sys_"로 시작되고, 쉼표로 구분됨)이라는 속성을 찾습니다. 기본적으로 시스템 테이블은 보고할 수 없습니다. 주의해서 진행하십시오.