Creative Commons License

Microsoft .NET

닷넷!시작하기
닷넷! Ver 2.0~
닷넷!스킬업
웹개발
윈폼개발
실용모듈개발
Tip & Tech
하루 한 문법

Microsoft .NET 개발자들을 위한 공간입니다. 기초강의에서 부터 고급 기술 정보 및 팁등을 다루도록 하겠습니다.

.

Tip & Tech

개발 중 해결한 혹은 미리 알고 있으면 좋은 팁성 글을 공유하는 공간입니다

[ADO.NET] DataSet 의 Select 성능

작성자 : 박종명
최초 작성일 : 2008-06-30 (월요일)
최종 수정일 : 2008-06-30 (월요일)
조회 수 : 3139

mkex.pe.kr 에 '이노야'님이 올리신 글입니다.

DataSet 에 있는 Select 라는 메소드를 사용하면서
직접 루프를 돌면서 구현한거와 성능이 어떻게 차이날까 가 궁금해서 테스트를 해 보았다.
 
DataSet Select 사용 소스
DataRow[] row = dataset.Tables["TableName"].Select("name='" + name + "'");
 
직접 구현한 소스
 
 for (int i = 0; i < dataset.Tables["TableName"].Rows.Count; i++)
 {
        if (name == dataset.Tables["TableName"].Rows[i]["name"].ToString())
        {
              i = dataset.Tables["TableName"].Rows.Count;
         }
 }

 
테스트를 해 본 결과 아래와 같은 결과가 나왔다.

직접 구현한 소스 Call : 오후 6:48:32:796
직접 구현한 소스 CallEnd : 오후 6:48:32:890

DataSet Select  Call : 오후 6:48:32:890
DataSet Select CallEnd : 오후 6:48:32:890
 
10번 정도 테스트 결과 직접 구현한 소스도 0ms 가 10번중 5번은 나오지만
DataSet Select 의 경우는 대부분 0ms 가 나온다.
내부적으로 DataSet Select 메소드 안에서 어떻게 구현했는지는 모르겠지만 Select 메소드를 사용하는게 성능상 이점이 있다는 결론이 나온다.
 
뭐 ms 단위의 성능이 뭐가 문제냐고 할 수도 있지만 많이 사용되는 코드의 경우(개발 프래임웍 같은 경우)는 ms 단위라도 신경을 써야한다.

이름
비밀번호
홈페이지
WM <- 왼쪽의 문자를 오른쪽 박스에 똑같이 입력해 주세요