두가지 질문을 드리겠습니다.
먼저 serial type 에 대해서인데요..
제가 우연히 알게 된 것인데
테이블생성시 컬림이 serial 타입으로 하면 시퀸스가 만들이집니다.
그런데 테이블생성시 그냥 serial 로 하고 \d 로 보면
분명 integer 로 나타납니다.
그리고 만들어진 시퀀시를 보면
bigint 로 되어 있고 maxvalue 가 엄청난 숫자로 되어 있습니다.
setval 로 lastvalue 를 2147483646 으로 하고
nextval 을 해보면 다음 숫자가 1 이 증가 되어 있고,
또 nextval 을 하면 int 형의 크기를 넘어섰다고 에러를 냅니다.
지정된 시리얼타입을 int 이상의 bigint 로 쓸려면 어떻게 해야 하는지요
만일 그렇게 할 수 없다면 maxvalue 의 터무니없는값은 어떻게 된 것인지....
예전에 7.2 이전부젼이었나..그때는 maxvalue 가 21억이었떤거 같습니다.
두번ㅉ 질문인데요
index 에 관한 질문입니다.
index type(?) 이
hash, btree, rtree, gist 등이 있는데
btree 로 지정할 경우 해당 컬럼이 text 길이가 제한이 되는거 같습니다.
여러가지 속도 테스트를 하다가
데이타 입력중에 게시판본문 내용이 10k 이상인 것이 있는데
이 컬럼이 btree index 로 잡혀 있습니다.
이 데이타를 넣으니 2173 인가.. 암튼 그길이보다 크다면서 데이타 입력이 되질 않고 에러를 내더군요
(본문에 검색을 위한 index 를 걸고 - 그럴필요는 없었으나, 테이블 구성을 이래저래 바꿔가면서
속도텍스트를 하느라.. - 데이타를 넣어봤습니다.)
이 길이제한을 해결할수 있는 index 방식은 어떤것이 있으며, 이 다른 index 방식과 btree 방식의 속도차이는 어떤지요.
(index type 은 일반 게시판처럼 검색이 가능해야 합니다. (xxx ~~ 'x' 또는 xxx like 'xx%')
|