엔터프라이즈 CMS 개발에 적합한 것은 어느 것입니까? LINQ 또는 SP?Linq 대 저장 프로 시저
답변
일반적으로 내가하는 일은 LINQ to Views와 LINQ to Stored Procedures입니다. LINQ는 쿼리 처리가 SQL 측에서 실행되는 쿼리 된 데이터를 관리하는 방법을 해결하기 때문에 무엇이 선호되는지에 대한 질문이 아닙니다. 쿼리 처리 (또는 저축, 대부분 저축)가 가능하므로 코드가 필요하지 않습니다. 그 일은 더 느립니다.
필자는 필요한 경우 두 가지를 모두 사용하고자한다고 말합니다. 여러 테이블을 하나의 엔티티로 저장해야하는 엔티티에 저장 하시겠습니까? 그렇다면 LINQ와 함께 저장 프로 시저를 사용하십시오. 테이블과 엔티티 관계를 1 대 1로 사용한다면 LINQ를 사용하면됩니다.
같은 데이터를 반복해서 요청하거나 (데이터 집합을 캐싱하거나 페이지 캐싱을 사용하거나 LINQ를 사용하는 경우 개체를 캐시하는 등) CMS를 통해 결과를 캐시합니다.
LINQ 또는 SP를 사용하더라도 문제가되지 않지만 LINQ 만 사용하면됩니다.
Linq2Sql (및 Entity Framework)과 함께 저장 프로 시저를 사용할 수 있으므로 둘 중 하나를 선택할 수 없습니다.
간단한 CRUD 테이블 (조인 안 함 !!!) 작업 LINQ to SQL은 아무 문제가 없지만 더 복잡한 (조인이 필요함) 항상 저장 프로 시저를 사용합니다 (원하는 경우 저장 프로 시저에 Linq를 사용할 수 있음)
이 사이트와 다른 사이트에 대한 수많은 논쟁이 있습니다. 필자는 보통 프로 Linq 캠프를 최근에 프로그래밍에 들어갔고 저장 프로 시저를 사용하지 않아도되는 사람들, 즉 이전 프로젝트의 데이터베이스 측면에 크게 관여하지 않은 사람들로 나눌 수 있습니다.
순수 LINQ, 저장 프로 시저 및 두 가지를 혼합하여 여러 프로젝트에서 작업 한 경험으로 저는 Linq에게 기본적인 CRUD 및 저장 프로 시저를 더 복잡하게하거나 성능에 의존하는 두 가지 이유가 있습니다.
1 - 배포/보안 - 데이터베이스 로직을 저장 프로 시저로 분리하고 소스 코드에 통합하지 않고 DLL을 릴리스하는 것이 큰 장점입니다. 모든 엔터프라이즈 수준의 기업에 필수적인 역할 및 SQL Server 보안을 사용하여 각 쿼리 주위에 적절한 보안/액세스 계층을 추가 할 수 있으며 새로운 주 릴리스를 수행하지 않고도 모든 저장 프로 시저의 SQL을 변경할 수 있습니다 응용 프로그램 (dll). 저장 프로 시저를 사용하여 생방송 문제와 성능 병목 현상을 해결해야하고 새 응용 프로그램 릴리스로이를 수행해야하는 악몽이었을 것입니다.
2 - 성능/코드 냄새 - 나는 많은 수의 응용 프로그램이 심하게 작성되고 비효율적 인 Linq로 흩어져있는 것을 보았습니다. 개발자는 Linq, 게으른 Linq와 SQL 쿼리를 거의 사용하지 않아 귀찮아합니다. 엔터프라이즈 수준 시스템에서 성능 문제를 디버깅하려고하는 악몽을 불러 일으 킵니다. '가능한 한 빨리 수행하십시오'라는 말이 널리 보급되어 있습니다. 필자는 Linq가 출현 한 이후 Spaghetti 코드를 더 많이 보았는데, 이전 버전의 라이브러리/패턴에서 보았던 것보다 COM에서 나온 코드입니다.
- 1. LINQ 저장 프로 시저
- 2. 저장 프로 시저 대 UDF
- 3. linq 및 저장 프로 시저
- 4. LINQ 대 저장 프로 시저 및 인라인 쿼리
- 5. MySQL : Views 대 저장 프로 시저
- 6. Visual Studio에서 Linq 저장 프로 시저 스무딩
- 7. Linq to Sql : 일반 저장 프로 시저
- 8. LINQ to SQL 호출 저장 프로 시저
- 9. SQL에 동적 저장 프로 시저 이름 linq
- 10. LINQ 저장 프로 시저 호출 속도가 느림
- 11. LINQ to SQL : 저장 프로 시저 결과
- 12. LINQ 쿼리 또는 저장 프로 시저
- 13. Linq - 저장 프로 시저 실행을 중단합니다.
- 14. CLR 저장 프로 시저
- 15. SQL Server 2005보기 대 구체화 된보기 대 저장 프로 시저
- 16. 저장 프로 시저 내에서 저장 프로 시저 실행
- 17. 저장 프로 시저 사용
- 18. 저장 프로 시저 숨기기
- 19. Oracle 저장 프로 시저
- 20. PostgreSQL 저장 프로 시저
- 21. postgresql의 저장 프로 시저
- 22. Java의 저장 프로 시저
- 23. 간단한 저장 프로 시저
- 24. 저장 프로 시저
- 25. MySQL을 저장 프로 시저
- 26. 저장 프로 시저 구조화
- 27. 저장 프로 시저
- 28. 저장 프로 시저 테스트
- 29. 저장 프로 시저 변경
- 30. 저장 프로 시저 기본값