저는 벤치마킹을하고 있었으므로 2500 레코드가있는 SQL 데이터베이스가있었습니다. 나는 그 기록들을 DocumentDB에 삽입했다.많은 양의 레코드를 가져올 때 DocumentDB가 SQL보다 느린가요?
필자는 두 줄의 코드를 작성하여 모든 2500을 C#의 배열로 가져 오는 엔티티 프레임 워크로 작성했습니다. DocuementDB에서 모든 2500을 배열로 가져 오는 다음 행. 사용
코드 :
var test= await Task<Test>.Run(() =>
client.CreateDocumentQuery<Test>(collection.DocumentsLink)
.ToList());
DocumentDB의 예를 20 초 동안했다. SQL Server 라인은 거의 순간적이었습니다. 객체는 5 개의 속성을 가진 간단한 DTO이며 인터넷을 통해 SQL 쿼리를 수행했습니다.
DocumentDB를 잘못 사용하고 있습니까? 나는 당신의 모든 기록을 기억으로 가져 와서 linq와 합류 시키려고했다고 생각했습니다.
Azure 테이블 저장소와 같은 것을 시도했습니다. 즉각적인 결과가 거의 없습니다. – bladefist
시간을 어디에 사용하고 있는지 알아보십시오. 프로세스 프로파일 링. 네트워크 왕복이 될 수 있습니다. Fiddler를 사용하여 발행 된 요청 수를 확인하십시오. – usr
RDBMS를 비 관계형과 비교하는 것은 실제로 적용 할 수 없습니다. 서로 다른 종류의 데이터 모델을 저장하기위한 것입니다. 보다 정확한 비교를 원할 경우 EntityFramework를 사용하는 종류의 풍부한 개체 그래프가 필요하며 단일 .NET 개체는 저장하기 위해 3-10 개의 테이블을 사용합니다 (여러 조인, subselect 등). EF로 전체 개체를 열심히로드하려고합니다. 정확하게 똑같은 객체를 DocumentDB에 직접 저장할 수 있습니다. 그런 다음'Foos.ToList()'의 성능을 비교하고 싶습니다. –