database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
ㆍInformix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Informix Q&A 358 게시물 읽기
No. 358
데이터베이스에서 몇몇 테이블의 크기를 SQL 로 구할수 있나.
작성자
그리움
작성일
2000-11-03 19:14
조회수
5,312

Q6 많이 사용하는 데이터베이스에서 몇몇 테이블의 크기를 구하고자 합니다. SQL 구문으로 가능한지요?

 

A sysmaster 데이터베이스에는 각 테이블들이 할당받은 extent 크기 정보를 가지고 있습니다. DB Server 내부에서 할당받은 모든 extent에 대하여 어느 데이터베이스의 어느 테이블에 할당한 extent인지, 그 시작 위치와 그 크기를 저장하고 있는 테이블이 바로 sysmaster의 sysextents 라는 테이블입니다. 이런 정보가 저장되어 있으므로 다음과 같이 간단한 SQL 구문으로 원하는 테이블 크기를 구할 수 있습니다.

여기서 "size"는 "Page 단위"입니다. 한 Page 크기는 H/W 시스템마다 다를 수 있으며, 일반적으로 Solaris와 HP-UX는 2KBytes이며, AIX는 4KBytes입니다.

 

database sysmaster;

select dbsname, tabname, sum(size) --dbsname;database name

from sysextents --tabname;table name

where dbsname="bluesky"

group by 1,2

order by 3 desc;

 

 

위의 질의는 "bluesky"라는 데이터베이스의 모든 table에 대해서 그 extent 크기의 합을 구해 줄 것입니다. 만일 원하는 한 테이블에 대해서만 크기를 구하고 싶다면 다음과 같이 사용하십시오. 다음의 질의는 "bluesky" 데이터베이스의 "maint" 테이블의 크기만 리턴할 것입니다.

 

database sysmaster;

select dbsname, tabname, sum(size) --dbsname;database name

from sysextents --tabname;table name

where dbsname="bluesky"

and tabname="maint"

group by 1,2;

 

 

dbsname tabname (sum)

 

bluesky maint 3700

[Top]
No.
제목
작성자
작성일
조회
361-256 오류: 데이터베이스 로깅 모드 변경 [1]
그리움
2000-11-03
5938
360Insert 후 serial column 의 값 알아내기; sqlca.sqlerrd[1]
그리움
2000-11-03
6929
359ASP; TEXT 자료형에 자료입력하기.
그리움
2000-11-03
4935
358데이터베이스에서 몇몇 테이블의 크기를 SQL 로 구할수 있나.
그리움
2000-11-03
5312
357[질문] informix jdbc는 어디서.......
neverstop
2000-11-03
5275
365┕>Re: [질문] informix jdbc는 어디서.......
정재익
2000-11-03 21:37:02
5761
355원격에서 ODBC연결.....
구름
2000-11-01
5346
353remote DB access [진짜 힘들다..]
무무
2000-10-31
5560
356┕>Re: remote DB access [진짜 힘들다..]
Mr.채
2000-11-01 13:48:05
6380
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다