시스템의 쿼리에서 검색 한 커스텀 개체가 많이 있습니다. 이 개체에는 모두 이름, 성, 성별, 우편 번호 및 생일의 5 가지 속성이 있다고 가정 해 보겠습니다. 각기 다른 속성에 대해 고유 한 값과 개수의 목록을 가져 와서 내림차순으로 정렬 할 수 있기를 원합니다. 그것은 파셋 형 네비게이션 시스템의 일종입니다. 그래서 초기 쿼리에서 5000 개의 결과를 얻었 으면 상위 10 개 FirstNames를 가장 인기있는 것부터 가장 인기가 적은 것까지 표시 할 수 있기를 원합니다. 그런 다음 다른 속성과 동일합니다.고유 항목을 찾는 데 좋은 .NET 데이터 구조 란 무엇입니까?
현재 각 항목을 한 번에 하나씩 살펴보고 다양한 속성을 검사하고 다양한 해시 테이블을 정보와 함께 보관합니다. 그것은 작동하지만 천천히 슈퍼입니다. 한 번에 하나씩 각 항목을 검토하는 것이 그리 효율적이지는 않습니다. 이 유형의 정보를 쉽게 얻을 수있는 C# 구조의 다른 유형이 있습니까? 저는 SQL Server가 이러한 유형의 작업을 잘 수행하고 있음을 알고 있습니다. 그러나 실제로 그럴 가능성은 없다고 생각합니다. 다른 시스템의 API에서 사용자 지정 개체 목록을 가져오고 있습니다. 그래서 나는 그 객체들의리스트를 가져 와서 어떻게 든 임시 테이블에 넣어야 할 것입니다. 그리고 그런 생각은 내가 생각하는 목적을 이겨내야합니다. SQL Server 임시 테이블은 연결에 따라 달라지며 내 응용 프로그램은 연결을 다시 사용합니다.
편집 : 내가 피하려고하는 것은 목록을 반복하여 각 개별 항목을 처리해야한다는 것입니다. 한 번에 (데이터베이스와 같은) 전체 목록 쿼리를 정렬하고 정보를 얻을 수있는 데이터 구조가 있는지 궁금합니다. 문제는 우리가 프런트 엔드 웹 서버가 서버에 많은 트래픽을 발생시키고 사람들이 이러한면이있는 페이지를 치고 있기 때문에 망치질에 불과하다는 것이며 더 효율적인 방법을 찾고 있습니다.
아이디어가 있으십니까?
덕분에, 코리
왜 쿼리를 수행하고 _your_ 시스템 _에서 쿼리를 정렬하지 않습니까? – kennytm
외부 시스템입니다. 나는 카운트를하고 거기서 분류 할 방법이 없다. 외부 시스템의 API를 통해서만 데이터에 액세스 할 수 있습니다. 그래서 나는 다음을 할 수 있습니다 - List _results = SystemAPI.GetResults(); 그런 다음 MyObjects 목록이 있으면 각기 다른 속성을 얼마나 많이 보유하고 있는지 파악해야합니다. –
* "한 번에 한 항목 씩 지나치는 것이별로 효율적이지 않다고 생각합니다."* 누군가가 더 나은 방법을 생각해 내면 그들은 실제로 매우 부자가 될 것입니다. –