안녕하세요~
무더운 여름이 훅~ 가고 쌀쌀한 가을이 성큼 찾아왔습니다.
바로 질문으로 들어가기 머쩍어서 위에 적어봅니다~ ^^
요즘 MVC3 Entity Framework 를 보면서 궁금한 점이 생겼습니다.
우리가 웹 개발 하면 여러가지가 있지만, 그 중에 DB와의 관계를 빼놓을수 없습니다.
EF는 그 DB와의 관계를 손쉽게 해결하게 도와주는데요~ 저는 이 부분에서 궁금한 점이
있습니다.
DB 성능에 문제가 있을때, SQL 튜닝이라는 것을 하는데요 EF는 튜닝을 하기 어렵지 않나 해서입니다.
EF 사용시 LINQ 쿼리로 SQL 명령을 내리게 되는데... 그 LINQ를 튜닝해야 하는 것인지...
좀 난해 합니다. 사용자 정의 쿼리가 있다곤 하지만, 완전하진 않은것 같구요~
DB의 인덱스 전략을 잘 짜려면, LINQ 쿼리가 아닌 SQL 쿼리로 되야 하는거 아닌가 생각을 해봅니다.
저장프로시저를 쓰면 된단 말씀은 말아주세요~ 그냥 텍스트 쿼리로 할수 있는 방법이 있을까요?
오늘도 좋은 하루 되시고~ 짬을 내어 살짝 적어봅니다~ ^^
Comment 2
-
NJHouse
2011.09.27 15:34
말씀 감사합니다~
아직은 저장 프로시져가 답이군요~ ORM이 만들어주는 쿼리를 프로파일러로 캐취해 보면, 그런데로 괜찮긴
하던데, 대용량으로 갈수록 문제가 될 여지가 있겠네요~


죄송합니다만, 저장프로시저가 유일한 답이 아닐까 합니다.
대부분의 ORM이 특정 rule에 의해 쿼리를 생성하기 때문에요. 운을 기대 하시기 보다는, 유일한 대안인 저장 프로시져가 답이 될 듯 합니다.
소견으로, ad-hoc 쿼리가 아닌 DB 성능상의 목적을 고민 중인 상태라면, 사실 저장 프로시져외에는 힘들 것 같습니다.