나는 두세 가지 이상의 항목이 포함 된 dataset
이 있습니다. 모든 항목에는 지정된 시간 소인이 있고 런타임에 세트에 항목이 추가됩니다 (일반적으로는 아니지만 항상 최신 시간 소인으로). 특정 시간 범위에서이 데이터의 하위 집합을 표시해야합니다. 이 시간 범위는 일반적으로 총 데이터 세트, 즉 주어진 시간 범위에 약 1000 개 이하의 1.000.000 이상의 항목에 비해 상당히 적습니다. 이 시간 범위는 일정한 속도로 이동합니다 (예 : 매초마다 시간 범위가 1 초씩 이동합니다. 또한 사용자는 언제든지 시간 범위를 조정하거나 (데이터 세트를 '이동') 추가 필터를 설정할 수 있습니다 (예 : 텍스트로 필터링).(잠재적으로) 1.000.000 + 개 항목의 하위 집합 필터링
지금까지 나는 성능에 대해 걱정하지 않고 다른 것들을 올바르게하려고 노력했으며 더 작은 테스트 세트로만 작업했습니다. 나는이 문제를 효율적으로 다루는 방법을 잘 모르며 모든 입력에 대해 기뻐할 것입니다. 감사.
편집 : 사용 언어는 C 번호를 4.
업데이트 : 지금은 간격 나무를 사용하고, 구현은 여기에서 찾을 수 있습니다 : https://github.com/mbuchetics/RangeTree
또한 사용하여 트리를 재 구축 비동기 버전과 함께 제공 작업 병렬 라이브러리 (TPL).
데이터 집합이 타임 스탬프별로 정렬되어 있습니까? – mtrw
1000000 + 개 항목을 저장하는 데 사용하는 데이터 구조는 무엇입니까? – TalentTuner
이것은 'DataSet' 객체입니까, 아니면 Dataset을 말할 때 데이터베이스입니까? – jvanrhyn