단점

2011-09-05 4 views
9

가능한 중복은 :
Disadvantages of MARS (Multiple Active Result Sets)?단점

나는 내가 동시에 여러 DataReaders에를 사용할 필요가 있도록 응용 프로그램을 개발하고있다. 내가 여러 DataReaders에 의미 여러 DataReaders에 말할 때 ... 같은 시간에 필요한 몇 가지있을 것입니다. (주위에 뭔가 10 ~ 50 이상)

그래서 내가 건너 온 하나 개의 시나리오가 있었다 다른 연결 문자열을 사용합니다.하지만 구현은 어색함을 느낍니다 !!!

또 다른 방법은 MARS를 사용하는 것입니다.이 방법은 꽤 괜찮은 것으로 나타났습니다. 하지만 내 의심은 내가 그것을 구현하거나 어떤 일이 생길 때까지 기다리고있는 악의적 인 무엇인가를 고려하거나 취할 필요가 있다는 것이다 .-

내 소위 연구에서 내가 무엇을 발견 할 수 있었는지는 MARS 서버는 데이터를 빠르게 생성하므로 클라이언트 애플리케이션은 들어오는 것과 동일한 속도로 데이터를 수신해야합니다. 그렇지 않으면 데이터 저장 버퍼가 채워져 처리가 중지되고 버퍼가 비어있는 경우에만 활성화됩니다. 또한

내가에만 실리를 사용하고 난 여기 어딘가에 잃었다

.... 이 요구 사항에 대해서만 ct 문 ..

그래서 내 질문은 거기에 어떤 단점을 사용하고 있습니까 ?? 처리가 중단되지 않도록 서버 데이터 버퍼에 얼마나 많은 데이터를 저장할 수 있습니까 ??

+1

무엇이 당신의 질문입니까? (물음표로 끝나는 것이 단어로 쓰여지는 경우) –

+0

"여러개의 자료실"을 정량화 할 수 있습니까? 대문자로 표시해도 숫자가 아닙니다. – Tony

+0

@ 존스톤 => 그는 그 질문을 끝내는 것을 완전히 잊었다. – Manek

답변

1

한 번에 100 개의 데이터 세트를 읽는 것이 정말로 필요한 경우 여러 연결을 사용하는 것이 좋습니다. 단일 연결에서 여러 개의 활성 데이터 보관함을 사용해야하는 이유를 알 수 없습니다.

큰 병렬 작업을 수행하지 않고도 달성하려는 쿼리 또는 작업을 수행 할 수 있습니다. 좀 더 자세한 내용이 있으면 좀 더 자세한 대안을 제안 할 수 있습니다.

+0

@ Johnstone => 나는 질의 측면에서 최적화하기 위해 많은 노력을했지만 지금은 MARS와 함께 계속 나아 간다. 하나의 TableA에서 목록을 얻는 것과 같습니다. TableA의 각 행은 TableB에서 목록을 가져오고 TableB의 각 행은 TableC에서 목록을 가져와야합니다. 휴! 나는 이상하게 들린다. 그러나 어쨌든 당신에게 시간을 줘서 고마워. 난 그냥 데이터 버퍼에 저장할 수있는 데이터에 대해 알고 싶었 .. – Manek

+1

정확하게 조인 무슨 소리처럼 들리 네요. 단일 쿼리로 원하는 작업을 수행 할 수 있으며 작업 수행 속도보다 훨씬 더 빠릅니다. –

+0

예를 들어'SELECT * FROM TblA INNER JOIN TblB ON X = Y'는'TblA'의 모든 행을 제공하고'Xblick'의 각 행에 대해'X = Y'를 만족하면' TblB'. –