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