2010-07-13 3 views
1

다음은 현재 수행중인 작업입니다.JSON 생성 - 성능 향상 방법

  1. (최대 기록은 100이 될 것이지만, 저장된 프로 시저가 50 만 개 이상의 기록에 대해 검색합니다 DataTable의에서 데이터베이스에서 데이터를 가져옵니다. 이미 데이터베이스에서 검색 최적화의 처리했다. 나는만큼 성능을 ​​개선 할 수있는 방법을 찾고 있어요 (2 단계 및 3 단계에서 수행 할 수 있습니다.)
  2. 일반 목록 (목록) 만들기
  3. 목록을 사용하여 JSON을 다시 가져 오기 위해 JavaScriptSerializer에 전달합니다.

DataContractJsonSerializer 또는 JSON.NET 또는 WCF와 같은 JSON을 생성하는 데는 몇 가지 옵션이 더 있습니다. 어떤 옵션이 더 나은 성능을 제공하는지 알고 싶습니까? 아니면 성능을 향상시킬 수있는 다른 방법이 있습니까?

+0

미안하지만, 100,000 개의 레코드를 직렬화하면 50 만 개의 레코드에서 최대 100 개의 레코드를 검색하는 데 훨씬 많은 시간이 걸리는 것으로 보입니다. 따라서 JSON 직렬화 대신 저장 프로 시저 최적화에 더 많은 투자를해야합니다. – Oleg

+0

나는 저장된 proc 최적화를 돌 보았다. 또한 애플리케이션 측면에서 성능을 향상시켜야합니다. 그래서 JSON을 생성하는 다른 많은 방법이 있기 때문에 더 나은 성능을 제공하는 좋은 접근 방식을 사용하고 싶습니다. – shailesh

답변

2

다음은 JSON.Net 작성자의 몇 가지 결과입니다. http://james.newtonking.com/archive/2010/01/01/net-serialization-performance-comparison.aspx. 타사 라이브러리를 사용하려면 JSON.Net을 사용해야합니다.

+0

감사합니다. 그 비 직렬화가 어디에 있는지 이해할 수없는 한 가지. JavaScriptSerializer 클래스를 사용하여 객체를 직렬화합니다. – shailesh

+0

그 결과는 serialization과 deserialization을 포함하고 있습니다. 직렬화에만 관심이 있다면 충분해야합니다. 그것은 다른 컴포넌트가 deserialization을 수행하고 있음을 암시합니다. 작업중인 어플리케이션에 대해 더 많이 알지 못하면 그 위치를 말할 수 없습니다. –

+0

다른 의견에 동의 할 것입니다. 이는 성능 병목 현상이 아닐 수 있습니다 ... 그러나 JSON.Net은 어느 쪽이든 사용할 수있는 좋은 라이브러리입니다. –