Q&A

  • Index문제.. 도와주세요.....
안녕하세요..



현재 DB에 인덱스가 2개 잡혀 있습니다.

이 DB에 인덱스 1개를 추가하려고 하는데. 이 DB를 사용하는 프로그램이 많은 사람들이 사용하는 프로그램들이 있는데 이 프로그램들에 영향을 주는지 알고 싶네요..(속도저하등)



이 DB는 현재 10만개 정도 있는데 제가 사용하는 프로그램에서 2개의 인덱스 이외에 다른 것을 사용하고자 하는데 제가 듣기로는 인덱스 하나 추가하면 다른 시스템에 심각한 영향을 주는 것을 들었습니다. 이 것이 맞는지요.. 제가 책에서 보기로는 4-5개정도는 무난하다고 들었는데 어떤게 맞는 것인지 모르겠네요.. 쩝..



고수님들의 답변을 기다리며....









2  COMMENTS
  • Profile
    이재식 2000.07.03 21:35
    주니 wrote:

    > 안녕하세요..

    >

    > 현재 DB에 인덱스가 2개 잡혀 있습니다.

    > 이 DB에 인덱스 1개를 추가하려고 하는데. 이 DB를 사용하는 프로그램이 많은 사람들이 사용하는 프로그램들이 있는데 이 프로그램들에 영향을 주는지 알고 싶네요..(속도저하등)

    >

    > 이 DB는 현재 10만개 정도 있는데 제가 사용하는 프로그램에서 2개의 인덱스 이외에 다른 것을 사용하고자 하는데 제가 듣기로는 인덱스 하나 추가하면 다른 시스템에 심각한 영향을 주는 것을 들었습니다. 이 것이 맞는지요.. 제가 책에서 보기로는 4-5개정도는 무난하다고 들었는데 어떤게 맞는 것인지 모르겠네요.. 쩝..

    >

    > 고수님들의 답변을 기다리며....

    >



    이재식 Wrote :

    안녕하세요?



    우린 대개 검색속도를 위해서 테이블에 인덱스를 설정합니다.

    우리가 application 10개 작성하는 것보다 더 어려운것이 바로 이런

    인덱스 잡는 문제입니다.



    사용하시는 디비가 무엇인지 모르겠지만,

    디비에 따라서 또 인덱스 제공유형이 많이 달라지겠죠.

    인덱스수는 이론적으로 대개 (1/테이블전체칼럼수) * 100의 비율을 가지는 것이

    보통이라고 합니다만, 이건 말그대로 이론적 가치일뿐

    실무에서는 그럴수도 안그럴수도 있는 것이죠.



    님께서 위에 4-5개정도는 무난하다 라는 말씀은 개수만 보고는 무난하다 할수

    있지만, 인덱스는 개수로 따지는 것이 아니라,

    설계내용과 데이터양등을 보고서 정확한 필드 및 테이블에 인덱스를 잡아야 합니다.

    업무설계자 내지 DBA에게 질문을 해서 도움을 받는것이 좋을 듯 합니다.



    님의 말씀대로 인덱스는 잘못잡으면 최저하를 일으키지만,

    잘 잡으면 최적성을 일으키는 것입니다.



    인덱스와 관련해서는 일반 application책을 보지마시고,

    DB솔루션에관한 책을 보셔야 더 정확히 이해할수 있으리라 생각합니다.







  • Profile
    이경문 2000.07.04 03:50
    쉽게 생각해서

    그 Table이 Insert, Delete, Update가 많으냐

    Search가 많으냐에 많이 좌우됩니다.

    그러므로 해당하는 업무의 성격을 잘 파악하셔야 됩니다.

    Insert, Delete, Update가 많은 경우는 Index를 잡지 말고

    Search가 많은 경우는 Index를 잡는 것이 좋습니다.