2013-03-24 1 views
1

나는 응용 프로그램에서 전송 이벤트를 보여주는 listview를 가지고 있으며,이 listview는 매 초마다 업데이트되어 이벤트를 추적해야합니다. 나는 하나의 connetion 객체 인 dataReader를 선언하고 listview를 채우는 타이머 (1000 간격)로 간단하게 처리한다. 마지막으로 연결과 다른 객체를 처리한다 (이것은 매 타이머 틱이다).DataBase에서 1 초마다 listview를 업데이트하는 방법보다 나은 방법이 있습니까?

이제 더 좋은 방법이 있습니까? 성능, 기억 또는 다른 일을하는 데 더 좋을까요?

i'am하지 전문가, 그래서 내가 그 어떤 메모리 문제 : (즉 잘못된 경우 정정 해줘)

데이터베이스 액세스 2007 VS 2012

만드는 많은 conncetions에게 매 초마다 5 월을 선언한다 어쩌면 thinked 고맙습니다.

답변

1

데이터베이스에 액세스하는 데 ADO.NET을 사용한다고 가정하면 .NET에서 connection pooling을 사용하여 DB 연결을 닫고 다시 여는 성능에 미치는 영향을 최소화하므로 액세스 모델이 좋을 것입니다.

그러나 전반적인 아키텍처에 대해 질문 할 수 있습니다. 일반적으로 타이머 업데이트를 폴링하는 것이 가장 좋은 방법은 아닙니다. 더 나은 접근법은 별도의 테이블에 업데이트 시퀀스를 유지하는 것입니다. 테이블에는 단일 행이 있고, int 열은 처음에 0으로 설정됩니다. "실제"데이터에 대한 업데이트가있을 때마다이 숫자는 하나씩 증가합니다. 이 테이블을 사용하면 프로그램은 전체 데이터 세트를 다시 읽지 않고 매 초마다이 한 개의 숫자 만 읽을 수 있습니다. 프로그램이 이전 시간과 동일한 번호를 찾으면 중지하고 다음 타이머 간격을 기다립니다. 그렇지 않으면 데이터 세트를 다시 읽습니다.

+0

감사합니다. 매우 많이 :) –

관련 문제