Q&A

  • Table 에서의 정렬
안녕하세요..

제가 지금 프로그램을 하나 작성하고 있는데...

약 60만개 이상의 데이타를 사용헤야 합니다...

그런데 거기서 하나의 데이타를 읽어들여야 합니다...

그래서 그 data들을 table에 저장을 하려고 합니다...

그리고 그 저장된 data들을 sorting해서 사용하려고 하는데 sorting

하는 방법을 잘 모르겠습니다...

혹시 아시는 분이 있으면 알려주세요...

참고로 sql은 사용하지 않을 예정입니다...

혹시 table의 method중에서 그런 역할을 해주는 method가 없을까요?

알려주세요...

2  COMMENTS
  • Profile
    최석기 2000.07.21 01:18
    황석민 wrote:

    > 안녕하세요..

    > 제가 지금 프로그램을 하나 작성하고 있는데...

    > 약 60만개 이상의 데이타를 사용헤야 합니다...

    > 그런데 거기서 하나의 데이타를 읽어들여야 합니다...

    > 그래서 그 data들을 table에 저장을 하려고 합니다...

    > 그리고 그 저장된 data들을 sorting해서 사용하려고 하는데 sorting

    > 하는 방법을 잘 모르겠습니다...

    > 혹시 아시는 분이 있으면 알려주세요...

    > 참고로 sql은 사용하지 않을 예정입니다...

    > 혹시 table의 method중에서 그런 역할을 해주는 method가 없을까요?

    > 알려주세요...



    님 일단 Ado를 사용하는지 묻고 싶네요..



    ADO를 사용하신다면 TCustomAdoDataSet에 속성중에 Sort라는 넘이 있어요..



    이거 사용하시면 테이블에 물리적으로 인덱스 만드실 필요 없시 사용하실 수 있습니다.



    예) AdoTable1.Sort := 'FieldName1 ASC, FieldName2 DESC';



    이런 식으로 사용하실 수 있습니다.



    그리고 ADO를 사용하시지 않는다면 Query랑 DataProvider랑 ClientDataSet를 연결해서 ClientDataSet 속성중 IndexDef에 동적으로 인덱스를 만들어서 사용해야해요..



    런타임에 하실려면 AddIndex라는 메소드를 살펴보세요..

  • Profile
    임형호 2000.07.21 01:10
    황석민 wrote:

    > 안녕하세요..

    > 제가 지금 프로그램을 하나 작성하고 있는데...

    > 약 60만개 이상의 데이타를 사용헤야 합니다...

    > 그런데 거기서 하나의 데이타를 읽어들여야 합니다...

    > 그래서 그 data들을 table에 저장을 하려고 합니다...

    > 그리고 그 저장된 data들을 sorting해서 사용하려고 하는데 sorting

    > 하는 방법을 잘 모르겠습니다...

    > 혹시 아시는 분이 있으면 알려주세요...

    > 참고로 sql은 사용하지 않을 예정입니다...

    > 혹시 table의 method중에서 그런 역할을 해주는 method가 없을까요?

    > 알려주세요...



    table에서 sort를 시키기 위해서는 indexname 또는 indexfieldname 이라는 속성을 사용해야 합니다.

    이것은 처음DB를 구성할때 index를 설정 해놓고 indexname, indexfieldname에 연결하는 경우가 많더라구요. 물론 동적으로 index를 생성해서 사용하는 경우도 있고 예제도 Q&A를 뒤져보면...나올겁니다.

    table에서 소트할수 있는 필드는 프라이머리키로 설정된 필드나 secondary index로 설정된 경우에만 가능한걸로 알고 있습니다.