리눅스에서 대량의 데이터를 큐브리드 DB로 넣으려는 작업을 하고 있습니다.
쉘 스크립트로 자동화 시키려고 하는데요
$CSQL = csql
$DBNAME = demodb
$CSQL -c "CREATE TABLE ex_table(
no INT,
name VARCHAR(1024),
dep VARCHAR(1024),
INDEX (name),
INDEX (dep)
)" $DBNAME
이 구문에서
Unable to access system message catalog.
(null)
이런 에러메시지가 출력이 됩니다.
그냥 명령입력창에서 # csql -c "create 뭐뭐뭐" demodb하면 잘 되는데 말이죠
더불어 인덱스 거는 법도 궁금합니다.
고수님들의 조언 기다리겠습니다.
쉘 스크립트로 자동화 시키려고 하는데요
$CSQL = csql
$DBNAME = demodb
$CSQL -c "CREATE TABLE ex_table(
no INT,
name VARCHAR(1024),
dep VARCHAR(1024),
INDEX (name),
INDEX (dep)
)" $DBNAME
이 구문에서
Unable to access system message catalog.
(null)
이런 에러메시지가 출력이 됩니다.
그냥 명령입력창에서 # csql -c "create 뭐뭐뭐" demodb하면 잘 되는데 말이죠
더불어 인덱스 거는 법도 궁금합니다.
고수님들의 조언 기다리겠습니다.
create table문에 unique index, PK, FK이외에는 인덱스를 넣을 수 없습니다.
아래와 같이 인덱스 생성문을 추가해야 합니다.
CREATE index idx_name_ex_table on ex_table(name);
CREATE index idx_dep_ex_table on ex_table(dep);
인덱스생성 관련 사항은 메뉴얼에 create로 검색하시면 쉽게 찾으실 수 있고,
대량의 데이터입력을 하신다면 인덱스생성을 나중에 하는 것이 성능에 좋습니다.
5,000이나 10,000건 단위로 commit주기를 주시는 것이 좋고 CUBRID파라미터 group_commit_interval_in_msecs를 설정하는 것이 좋습니다.