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
운영게시판
최근게시물
Sybase Q&A 1125 게시물 읽기
No. 1125
sysindexes란 무엇을 하는 테이블 인가요?
작성자
정태환
작성일
2005-03-29 16:00
조회수
4,662

ASE 12.0을 사용합니다 어느날 예제를 보다보니

select name , rowcnt(sysindexes.doampg) cnt from sysindexes

이런 쿼리를 보게 되었어요.. 대강은 알겠는데

우선 sysindexes에 어떤 내용이 들어가나요? name로 제가 원하는 테이블을

찾았더니 그건 없더라구요

그리고 rowcnt() 이건 ASE에서 쓰는 함수 인가요?

많은 도움 부탁드립니다

이 글에 대한 댓글이 총 2건 있습니다.

1. rowcnt는 ASE에서 사용하는 function입니다

 

allocation map에서 record count를 저장한 부분을 가지고 오는 것입니다.

 

2.sysindexes는 index에 관련된 정보를 저장한 table입니다.

 

id : object들의 고유한 id

indid : index형태 구분 0. data, 1.clustered index ,2보다 큰것 : nonclustered index, 255. text나 image

 

그러므로

 

본인이 원한는 table의 건수를 찾기 위해서는

 

select name , indid,rowcnt(sysindexes.doampg)  from sysindexes where id=object_id("원하는 table이름")

 id          name                                       indid
 ----------- ------------------------------ ----------- ------
     4963144 test                                    0      0
     4963144 test                                    103      1

 

clusterd indes가 있는경우 여기에 count가 있고 나머지는 0

clustered index가 있고 nonclustered index가 있으면 여기에 count가 있고 나머지는 0

index가 아예없으면 data에 있음

 

즉, indid가 1이 존재하면 거기의 cnt를 읽고

1은 없고 2보다 큰게 있으면 거기의 cnt를 일고

 

아예없으면 0에서 읽는다.

 

 

declare @a int
if exists (select * from sysindexes where id=object_id("테이블이름") and indid=1)
select @a=1
else if exists(select * from sysindexes where id=object_id("테이블이름") and indid=2)
select @a=2
else
select @a=0

select name,id,indid,rowcnt(sysindexes.doampg)  from sysindexes where id=object_id("테이블이름") and indid=@a

 

수고하세요

지연님이 2005-03-29 16:42에 작성한 댓글입니다. Edit

좋은정보 감사합니다

정태환님이 2005-03-29 17:11에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1128이 메세지는 무엇인가요? 접속시 나는데요..^^ [1]
정영식
2005-03-29
3907
1127PowerBuilder 7.0이프로그램이 머하는건지 어떻게 쓰는건지 간단한 설명좀 [1]
김덕봉
2005-03-29
3235
1126Sybase완전 초짜입니다..^^ 인스톨후 뭘 해야 하는건지... [2]
정영식
2005-03-29
4238
1125sysindexes란 무엇을 하는 테이블 인가요? [2]
정태환
2005-03-29
4662
1124bcp에서 row수를 리턴 받을수 있나요? [2]
사이베이스
2005-03-29
3644
112312.5.1.인스톨하고 Adaptive server configuration fail 이 납니다. [1]
정영식
2005-03-29
3611
1122특정월에서. 요일과 날짜 구하기? [5]
궁금??
2005-03-28
6997
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다