나는이 할당 된 모든 항목이없는 객실의 목록을 원하는 두 개의 테이블 Room_master
및 Room_Item
Linq 쿼리를 어떻게 최적화 할 수 있습니까?
Room_Master => roomid - pk, roomname
Room_Item => roomiteid - pk, roomid - fk, itemid, quantity
을 데.
LINQ 쿼리가 매우 잘하지만 문제가 노력하고 있습니다var roomitem1 = from ri in objEntities.Room_Item
group ri by ri.roomid into p
select new { roomid = p.Key, totalitem = p.Sum(row => row.quantity) };
var roomid = roomitem1.Where(x => x.totalitem > 0).Select(x => x.roomid);
을 다음과 같이 내가
select * from room where roomid in
(select roomid from (select SUM(quantity) as qty, roomid from Room_Item group by roomid)
as newtab where qty=0) order by roomid
내 각각의 LINQ 쿼리는 결과를 얻기 위해 아래와 같이 SQL 쿼리를 작성했습니다
는 점이다 에 너무 오랜 시간이 걸리므로 데이터를 반환하십시오. 나는 Room_master
테이블 6000 개 기록과 Room_item
테이블에 약 70,000 기록을 가지고 있고 그것이 더 빨리 실행되도록
할당 된 항목이없는 방 ID의 목록을 제공해야 다음 LINQ 쿼리는 적어도 하나 개의 항목이 위치를 할당 한 방 ID를 반환 SQL 쿼리가 항목이 할당되지 않은 룸을 반환하므로 – ChrisWue
큰소리로 말할 필요가 없습니다! – Phil