|
신현준 님이 쓰신 글 :
: AccessDB를 사용하려구 하구요...
:
: ODBC를 거치지 않고 OLEDB를 거쳐 접근하려고 합니다.
:
: 헌데...
:
: DB의 한 데이터의 값을 카운트 식으로 1씩 증가시키려고 합니다.
:
: 투표처럼 선택하는것처럼여...
:
: 이때 데이터를 직접 가져와서 1증가시킨후 다시 업데이트 시키는건가요?
:
: 아니면 DB공급자내에 이와 관련된 데이터타입이 있나요?
Access를 비롯한 대부분의 RDB에는 자동 증가 필드가 있습니다.
DB엔진 자체에서 새 레코드를 삽입하려 할 때마다,
자동으로 키값을 증가시켜주는 것이죠.
이러한 자동 증가 필드는 따라
채번(번호 따기) 루틴을 만들 필요가 없으므로 상당히 편리하지만,
인위적으로 값을 바꾸기가 불편합니다.
(박상철님 말대로 아주 불가능한 것은 아닙니다. 편법을 써서 바꿀수는 있지요.)
즉, 오직 레코드의 구분만을 위한 ID를 따기위한 용도이지,
그 값 자체에는 절대 의미를 부여하면 안됩니다.
의미가 있을 경우에는 따로 채번 루틴을 작성해야 합니다.
ID 필드에 별도의 의미가 없고, 앞으로 값을 바꿀 필요가 전혀 없다면,
자동 증가 필드를 쓰는 편이 속도를 위해서는 좋습니다.
자동 증가 필드는 개발자가 만든 채번 루틴보다 훨씬 빠릅니다.
대용량으로 자료를 삽입할 때는 엄청난 시간 차이가 나게됩니다.
: 로컬과 네트워크상 각각을 생각했을시 말이죠...
:
: 말이 너무 어눌한가요?
:
: 제가 글로 표현하는게 점 모질라서.... ^^;;
:
: 그럼 오늘두 즐프 하시길....
:
:
|