7. ADO.Net을 ADO처럼 취급하지 말라

ADO와는 달리 ADO.Net은 비연결 모드에서 동작하도록 디자인 되었으며, 각 클라이언트를 위해 데이터의 독립적인 복사본을 유지 관리한다. ADO.Net 응용프로그램들은 캐시된 데이터 저장소들과 동작하도록 디자인되었으며, 데이터를 검색하고 수정하기 위해 신속하게 데이터베이스에 연결하고 연결을 해제한다.

 

6. SqlCommandBuilder를 사용할 필요가 없다.

SQLCommandBuilder는 원본 데이터베이스에 DataSet 업데이트들을 전파하기 위해 DataAdapter가 사용하는 INSERT, UPDATE, 그리고 DELETE 문을 자동으로 생성한다. 그러나 SqlCommandBuilder를 사용하지 않고 대신에 여러분의 저장 프로시저를 DataAdapter의  InsertCommand, UpdateCommand, 그리고 DeleteCommand 속성에 연결함으로써 성능을 향상시킬 수 있다.

 

5. DataView를 간과하지 말라

DataView는 웹과 WinForms 응용프로그램으로 바인딩을 해 주고 DataTable로부터 정보의 일부를 얻을 수 있게 한다. 여러분은 계산된 컬럼을 사용함응로써 DataTable에서 데이터를 확장하기 위하여 DataView Expressions 속성을 사용할 수 있다.

 

4. DataSet을 사용할 필요가 없다.

만일 단일 테이블로부터 데이터를 검색하는 중이라면 DataSet에 독립적인 DataTable의 한 인스턴스를 생성함으로써 DataSet의 오버헤드를 피할 수 있다. 그 다음에 DataSet의 필요 없이 DataTable에서 데이터에 접근할 수도 있고 그것에 바인드를 할 수도 있다.

 

3. DataSet을 작은 데이터베이스로 여기지 말라

종종 초보 ADO.Net 프로그래머들은 DataSet을 기반 데이터베이스의 작은 버전으로 만들려고 시도한다. DataSet은 단지 응용프로그램이 필요로 하는 데이터를 담고 있는 로컬 데이터 캐시라고 갖누한는 것이 훨씬 좋다.

 

2. 연결 문자열을 내장하지 말라

여러분의 응용프로그램이 연결 문자열을 내장하면 보안에 문제를 야기할 수 있다. 만일 가능하다면 통합된 보안의 장점을 이용한다. 그것이 불가능하다면 Active Directory나 보안된 구성 파일에 응용프로그램의 연결 문자열을 저장하기 위해 통합된 보안을 사용한다.

 

1. 불필요한 데이터를 검색하지 않는다.

너무 많은 데이터를 검색하는 것은 응용프로그램의 성능을 저하시키는 가장 좋은 방법이다. 과도한 데이터는 네트워크를 혹사시키며 대규모의 웹 응용프로그램들이 필요로 하는 귀중한 시스템 자원을 낭비한다. 당신의 SELECT 구문들을 재검토하여 그것들이 적절한 WHERE 절을 사용하고 있으며 필요로하는 컬럼들만을 검색하는지 확인한다.

 

출처 : Windows & .Net Magazine 2003. 7

'programming > c#' 카테고리의 다른 글

ADO.NET and SQL Server Performance Tips  (0) 2004.06.04
R# ReSharper (C# Add-in)  (0) 2004.05.31
[펌] 외국의 C# 관련 사이트 (강좌 및 faq)  (0) 2004.05.19

+ Recent posts