2011-09-14 4 views
0

Android 애플리케이션을 파싱해야하는 피드가 있습니다. 데이터는 데이터베이스에 저장해야하며 Im은 현재 성능에 문제가 있습니다.Android에서 구문 분석 속도 향상

항목을 범주 및 하위 범주로 범주화해야합니다.

나는 ID에 대한 카테고리가 있으므로 멋지다. 하지만 하위 범주에 대해서는 그렇지 않습니다. 이로 인해 많은 문자열 비교가 발생하여 db에 중복 항목이 추가되지 않습니다.

하위 카테고리의 이름에서 ID를 생성하는 것이 좋습니까? 아니면 계산하기에는 고통 스럽습니까?

편집 :

Category A (ID 1) 
    Sub Category C (no ID) 
    Sub Category Z (no ID) 
    Sub Category V (no ID) 

Category B (ID 7) 
    Sub Category O (no ID) 
    Sub Category C (no ID) (this is not the same Sub Category 'C' as under Category 'A') 

데이터는 위 같은 것을 보인다. Category를 하나의 테이블과 하위 카테고리에 저장하고 중복을 추가하지 않습니다. 따라서 중복 된 레코드를 피하려면 이미 존재하는 것을 확인해야합니다. 하지만 하위 카테 고 리에 대한 ID가 없습니다.

+2

나는 당신이 요구하는 것을 정확히 이해하는 데 어려움을 겪고 있습니다. 해결하려는 특정 문제에 집중할 수 있습니까? 피드의 샘플 객체 몇 개와 결과 데이터 구조를 원한다면 매우 유용 할 것입니다. – jefflunt

+0

단순히 범주 이름을 ID로 사용할 수 없습니까? – njzk2

답변

0

이 문제를 해결할 수있는 방법은 여러 가지가 있으며 실제로 실제로 얼마나 많은 인서트가 있는지에 따라 달라집니다. 너무 많은 수없는 경우는 하위 cateogory 열 인덱스에 충분하고 것 다음 각 삽입은 단순히 전에 : sub_category_table에서

SELECT COUNT (*)를 어디에 sub_category_field = '하위'

하는 경우 쿼리가 0보다 큰 값을 반환하면 삽입을 건너 뛸 수 있습니다.

성능면에서 좋지 않은 경우 데이터 및 스키마에 대한 추가 정보를 얻는 데 도움이됩니다.