시나리오를 설정하려면 테이블에 100000 개의 행이 있고 매일 점점 더 커지게됩니다. 이 대기열은 현재 테이블에서 약 40 또는 50 행만 검색하기 위해 2 초 이상 걸립니다.LINQ 쿼리를보다 빠르게 만들 수있게 도와주세요.
이 테이블의 데이터는 DateTime 참조로 그룹화되므로이 테이블의 다른 행과 유일한 동일 값이기 때문에 모든 데이터를 DateTime별로 그룹화하기 시작합니다. 각 행 그룹은 1 행에서 5 행 MAX까지 가능합니다. 그런 다음 그룹화 된 행을 선택하고 데이터를 선택하여 사용자에게 표시합니다. 내가 볼 수있는 문제는 SQL에서 EXIST와 Group을 발생 시킨다는 것입니다. 큐를 더 빨리 만들려면 40 개의 행을 모두 선택해야하지만 FOR 루프에서 각 그룹을 선택합니다. 그렇다면 어떻게하면이 대기열을 더 빨리 만들 수 있을까요? 그것들 모두가 가장 오래되었고 나의 사용자들은 2 초의 대기 시간에 대해 불평하고 있습니다. 도와주세요.
이SELECT [t0].[Elites], [t0].[DateTime_Added], [t0].[uid] AS [Uid],[t0].[Military_Location], [t0].[Province_ID], [t0].[Time_To_Return]
FROM [Data_Captured_Type_Military] AS [t0]
WHERE (EXISTS (
SELECT NULL AS [EMPTY]
FROM (
SELECT [t1].[DateTime_Added]
FROM [Data_Captured_Type_Military] AS [t1]
WHERE [t1].[DateTime_Added] >= @p0
GROUP BY [t1].[DateTime_Added]
) AS [t2]
WHERE [t2].[DateTime_Added] = [t0].[DateTime_Added]
)) AND ([t0].[DateTime_Added] >= @p1)
나는 1 년 전에이 게임을 했었다는 것을 기억합니다 .... :) – Jimmy
고마워 지미,하지만 확실히 도움이되지 않습니다. lol –