오라클 인덱스 생성(CREATE) 및 삭제(DROP)




인덱스 생성



일단 인덱스는 다음과 같이 생성한다.

인덱스 종류는 많지만 많이 쓰는 것 위주 순으로 설명 하겠습니다.


 CREATE INDEX 인덱스 명 ON 테이블명( 컬럼1, 컬럼2.... ); 


아래와 같이 

테이블 명 : SAMPLE, 컬럼 명은 ID, NAME 

인 테이블이 있다고 하자.


CREATE TABLE SAMPLE

(

     ID INT,

     NAME VARCHAR(10)

);


위의 테이블의 인덱스는 다음과 같이 한다.


 CREATE INDEX IDX_SAMPLE ON SAMPLE( ID ); 


IDX_SAMPLE 은 인덱스 명으로 사용자가 임의로 정해 주지만 IDX (INDEX 약칭 ) 라고 명시는 해주는 것이 좋은 습관이다.



인덱스 왜 만드나요?



우리는 DML문에 WHERE 뒤에 검색에 대한 조건을 단다.

데이터가 100만건이 있다면 내가 원하는 조건을 찾을려면 100만번을 다 건건이 찾을려면 시간이 걸릴 것이다.

이러한 검색 시간을 단축 하기 위해서 인덱스를 생성 하며 인덱스를 생성하면 검색 시간이 많이 단축 될 것이다.


인덱스 삭제



인덱스 삭제는 다음과 같이 한다.


 DROP INDEX 인덱스 명; 


앞에서 생성한 인덱스 삭제는 다음과 같이 한다.


 DROP INDEX IDX_SAMPLE; 



UNIQUE 인덱스 생성



해당 컬럼에 중복 값을 허용하지 않고 인덱스를 생성한다.


 CREATE UNIQUE INDEX 인덱스 명 ON 테이블명( 컬럼명 ); 


SAMPLE 테이블에 UNIQUE INDEX를 생성해 보자.


 CREATE UNIQUE INDEX IDX_SAMPLE ON SAMPLE( ID ); 


부연 설명으로 위와 같이 인덱스가 생성 되면 SAMPLE의 ID 값이 같은 값이 INSERT가 안된다.

같은 값을 INSERT를 할라고 하면 다음과 같은 메시지가 출력 된다.


ORA-00001: unique constraint (JINK1982.IDX_SAMPLE) violated 



반응형

C++ cout, cin 사용법



출력 함수 cout


콘솔 화면에 데이터를 출력 하는 방법에 대해 알아보자


std::cout << 출력 할 대상


#include <iostream>


int main(int argc, char** argv) 

{

std::cout<<"hello world"<<std::endl;

std::cout<<"hello world2"<<std::endl;

return 0;

}


#include <iostream> --> 콘솔 화면에서 입출력 기능을 하기 위해 iostream을 한다.

                            .h는 생략 가능

std::cout --> 출력 할 대상

std::endl --> 개행 처리 한다.


입력 함수 cin


콘솔 화면에 데이터를 출력 하는 방법에 대해 알아보자


std::cin >> 입력 받을 대상


#include <iostream>


int main(int argc, char** argv) 

{

char text[10] = {0,};

std::cout<<"what your name?"<<std::endl;

std::cin>>text;

std::cout<<"hello "<<text<< std::endl;

return 0;

}


char text[10] = {0,}; --> 문자열 10byte 할당 + 초기화

std::cin>>text;        --> text 변수에 사용자가 입력 한 것을 저장 한다.

std::cout<<"hello "<<text<< std::endl;  --> 변수 값 출력


C VS C++ 


C와 C++과 비교 해 보자


C

C++ 

#include <stdio.h>

#include <iostream> 

printf 

std::cout 

scanf

std::cin 

파일명.c

파일명.cpp 


반응형

'프로그램 > C++' 카테고리의 다른 글

[C++] bool 자료형  (0) 2017.12.29
[C++] namespace 사용법  (0) 2017.12.27
[C++]인라인 함수 사용법  (0) 2017.12.26
[C++]함수 매개변수 디폴트 값  (0) 2017.12.25
[C++]함수 오버로딩 (Function Overloading)  (0) 2016.12.03

Shell 인자, 파라미터 사용법



Shell 기본


Shell Script 간단히 작성 해보도록 하자


1. 파일을 연다.


[test@localhost ~]# vi test.sh


2. 쉘을 작성 한다.


 #!/bin/bash


echo "hello world"


위의 내용을 입력 후 저장을 한다.

vi 사용을 할 줄 모르시는 분은 참고로 

1. i : 입력 

2. 위의 내용을 작성
3. esc
4. :wq!


3. 실행 권한을 준다.


[test@localhost ~]# chmod 755 test.sh


4. 실행한다.


[test@localhost ~]# test.sh

hello world


Shell 인자, 파라미터 사용법


인자, 파라미터 사용법에 대해 알아보자.


#!/bin/bash


echo "파라미터 개수 : $#"

echo "첫 번째 파라미터: $1"

echo "모든 파라미터 내용 : $@"



실행 결과: 

[test@localhost ~]# test.sh bread star

파라미터 개수 : 2

첫 번째 파라미터: bread

모든 파라미터 내용 : bread star


반응형

Unix/Linux 정렬(Sort) 명령어, 옵션



Sort 명령어


Sort는 명령어 결과 혹은 문서 내용을 정렬 하는데 쓰인다.


 [test@localhost ~]# cat data.txt

  5

  3

  2

  7


이런 데이터가 들어있는 텍스트 파일이 있다고 하자

이 숫자들을 정렬 하고 싶으면 다음과 같이 해주면 된다.


 sort [파일명]


 [test@localhost ~]# sort data.txt

  2

  3

  5

  7



다음 열을 정렬 하기 위한 옵션


다음과 같이 2개 이상의 열이 있을 때


 [test@localhost ~]# cat data2.txt

  a  4

  c  5

  f   1

  z  2


두번 째 열을 기준으로 정렬을 하고 싶을 때는 아래와 같이 해준다. 


 sort + 1[파일명]


 [test@localhost ~]# sort + 1 data2.txt

  f   1

  z  2

  a  4

  c  5



Sort 의 유용한 옵션


Sort의 옵션에 대해 알아보자


 sort [-옵션] [-o 저장될 파일명] 정렬할 파일명 [병합할 파일명]


 -b 

 앞 공백 무시 

 -o

 저장할 파일 명시

 -r

 역순으로 표시 

 -f

 대소문자 구분 하지 않음 

 -t

 필드 구분자 지정 

 -u

 중복행 제거 

 -m

 정렬 파일 병합 

 -n

 숫자만 비교 


반응형

+ Recent posts