2009-12-23 4 views
0

ADO.NET이 더 나은 성능을 제공 할 때 LINQtoSQL을 사용해야하는 이유는 무엇입니까? Checkout this link 비교 보고서를 표시합니다.ADO.NET이 이보다 잘 작동하는 경우 왜 LINQ to SQL을 사용해야합니까?

배포 용이성보다는 응용 프로그램의 속도/성능을 찾고 있습니다. LINQ를 SQL에두고 OLD ADO.NET DataAcces Layer로 돌아가서 사용자가 프로 시저를 저장하기 전에 고려해야 할 사항이 있습니까?

답변

1

동일한 쿼리를 얼마나 자주 실행합니까? 이것은 물건을 보여주지 않는 순수한 합성 시험입니다.

일반적으로 SQL Server 시스템에 덤프가 적은 RAM을 추가하는 것보다 더 많은 하드웨어를 사용하는 것이 훨씬 쉽고 경제적입니다. 때로는 하나는 성능을 향상시키기 위해 일반 ADO.NET에 의존해야하지만이 프로파일에 문제가 표시 곳에서만 실시 할 필요가

var dataReader = command.ExecuteReader(); 
while(dataReader.Read()) 
    var id = dataReader.GetInt32("ID"); 

부여에있는 모든 버그를 제거 할 수 있습니다.

+0

@Shyju : ​​Define "sucks". –

+0

@Anton : 사용 된 단어가 틀린 경우 죄송합니다. 나는 그것이 빠르게 작동하지 않는다는 것을 의미했다. – Shyju

0

IMO ORM은 배포되지 않은 프로젝트에 유용합니다. 때로는 클라이언트가 공유 서버 또는 다른 국가의 다른 데이터베이스 서버를 사용하는 경우도 있습니다. 이 경우 SP를 사용하고 있습니다. 그러나 ORM은 또 다른 이점이 있습니다. 예를 들어, 테이블 구조를 변경하면 SP에서 모든 종속 SP를 변경해야합니다. 그러나 ORM에서는 몇 가지 변경 사항을 적용하면 모든 것이 정상입니다.

1

ADM.NET보다 ORM의 가장 큰 장점 중 하나는 초기 개발 속도 (응용 프로그램 속도가 아님)입니다. ADO.NET보다 ORM을 사용하면 유지 관리 작업을 훨씬 쉽게 수행 할 수 있습니다. ORM은 ADO.NET에서 손으로 코딩해야하는 많은 기능을 제공합니다. Linq는 ADO.NET에서 작동하지 않으며 Linq는 현재 ORM을 필요로합니다.

대부분의 ORM을 사용하면 성능상의 이유로 필요할 때 SQL/ADO.NET으로 드롭 다운 할 수 있습니다.

데이터 계층을 구현하는 방법은 요구 사항에 따라 달라지며 그 질문에 대한 대답은 항상 상황에 따라 다릅니다. ORM이 항상 ADO.NET보다 우월하다고 말할 수는 없습니다.

관련 문제