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 1699 게시물 읽기
No. 1699
인덱스 관련 질문입니다.
작성자
크라운
작성일
2006-10-25 11:47
조회수
5,502

오랫동안 MSSQL을 쓰다 이번 프로젝트에 Sybase가

들어왔는데 아직 개념을 못잡겠군요..ㅋㅋ

도입된 Version은 ASE 12.5.2입니다.


MSSQL에선 인덱스 재정비 작업을 정기적으로 해주어야 하는데

Sybase에선 필요 없는건가요? 비슷한 명령어가 없네요?

그리고 FillFact라는 것으로 인덱스의 페이지에 여유분을 주여

INSERT로 인해 빈번하게 페이지 스플릿이 일어나는것을

막아주는 일을 하는데 이런 개념도 찾아보아도 없는걸 보니


Sybase에선 어떻게 인덱스가 구성이되고

어떻게 관리를 해주어야 하는지요?

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

MSSQL은 SYBASE사의 SQL-Server엔진 소스로부터 만들어진 

태생과 고향이 SYBASE사입니다.

MS가 SYBASE사로 부터 소스를 사들였단 소리지요.

따라서 그 구조와 내용이 매우 비슷할 것이라 사료됩니다.


님이 말씀하신 인덱스 재정비의 의미가 무엇인지는 모르겠지만

아마도 사이베이스의 Update statistics 명령어가 아닌지 생각됩니다.

이는  인덱스 distribution page의 내용을 최신으로 바꿘주는 명령어이며

query optimization시 query plan 생성에 영향을 줍니다.

인덱스 구성이나 관리는 거의 비슷할 것이라 사료됩니다.

B* tree 인덱스라면 말이죠...


또 fillfactor 역시 인덱스 생성시에 주는 파라메터로 존재합니다.

커맨드 레퍼런스 메뉴얼에 나와 있습니다.

볼드체 부분을 잘 참고하시길...


create [unique] [clustered | nonclustered]

index index_name

on [[database.]owner.]table_name

(column_name [asc | desc]

[, column_name [asc | desc]]...)

[with { fillfactor = pct,

max_rows_per_page = num_rows,

reservepagegap = num_pages,

consumers = x, ignore_dup_key, sorted_data,

[ignore_dup_row | allow_dup_row],

statistics using num_steps values } ]

[on segment_name]

외론아빠(hahmyk)님이 2006-10-25 16:47에 작성한 댓글입니다.
이 댓글은 2006-10-25 16:50에 마지막으로 수정되었습니다.

대략 이런거죠~
fillfactor = pct


10으로 하면 page의 10%를 비워 놓는다(아님 그것의 거꾸로 든가 10%만 쓴다든가)

실제는 별 효용 없고요

bcp in하실때만 효용이 있습니다.

이케 해노면 APL인 경우 split이 잘 발생을 하지 않을테니까요

max_rows_per_page = num_rows,

한 page당 몇개의 row만 저장하겠다

이것도 대략 위의 내용과 비스므레 한겁니다.....

reservepagegap = num_pages
다 옜날 APL과 연관이 많은겁니다.


APL은 data page가 link 구조로 되어 있습니다

DOL은 link가 없습니다

페이지의 link가

1-2-3-4-5
이렇게 되어 있다면

위의 설정을 4로 한다면

1,2,3,4 page에 data를 넣고 5번은 link는 구성하나 data는 넣지 않고 
스페어로 두겠다는거죠...

split나도 인접한곳에 넣게 다는 거죠....5번에...이게 없으면...엄청 떨어지곳에 넣게죠

1-2-3-4-6009등으로 link가 구성되면 알죠~~플레그먼테이션~~

이것 때문에 속도가 떨어진다는 거죠

statistics using num_steps values  

분포도 인데요, 이거 대개 20 step으로 구성되어 있습니다

optdiag로 뽑아서 보시면 되는데...


옵티마이져가 index를 탈건지 안탈건지 결정하는 거죠...


통계테이블이랑도 연관있고요

여러개로 나누면 index 탈확률이 높아지겠죠...


다 trade off거 아시죠....늘리면 overhead가 있다는거



이상 볼드체만 설명을 드렸습니다

주저리주저리

지연님이 2006-10-30 22:34에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1704[질문입니다]데이터베이스 복원에 대하여 [1]
장학우
2006-10-31
4992
1702인덱스 관련 질문입니다. [3]
초보
2006-10-30
6219
1701쿼리퀴즈를 생각해봤는데요 [4]
박상묵
2006-10-25
4912
1699인덱스 관련 질문입니다. [2]
크라운
2006-10-25
5502
1698SYSOPTION테이블에서, 두번째 컬럼이, [4]
박상묵
2006-10-24
5183
1697백업을 하는데 이런 메세지가 나옵니다. 도와주세요 [2]
초보자
2006-10-23
4536
1696에러좀 봐주세요.. [1]
초보sybase
2006-10-20
5135
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다