안녕 얘들아!나는 기록 데이터의 보트 로드를 쿼리하고 있는데 가져오는 행 팝업이 로드되는 행 수의 최대 약 3배까지 계산된다는 것을 확인했습니다(로드되는 행 수는 대략 정확함).한 번에 1개월씩 데이터를 가져오고 있으며(더 많이 요청하면 중단됨) 데이터 로거는 1Hz를 조금 넘게 실행합니다. 즉, 한 번에 약 2.5e6행을 가져와야 하지만 시스템에서는 7.5e6행을 가져오라고 합니다.
쿼리를 수행하는 코드 조각은 다음과 같습니다.
Open Database(
"driver={SQL Server}; Server=XXXXXXXXXX; database=Runtime; trusted_connection=yes;",
"SET NOCOUNT ON
DECLARE @StartDate DateTime
DECLARE @EndDate DateTime
SET @StartDate = '2023-5-1 00:00:00'
SET @EndDate = '2023-5-31 23:59:59'
SELECT temp.TagName, DateTime = convert(varchar, DateTime, 126), vValue From (
SELECT * FROM History WHERE History.TagName IN (" || tagnamelist || ")
AND vValue IS NOT NULL
AND wwRetrievalMode = 'Delta'
AND wwVersion = 'Latest'
AND DateTime >= @StartDate
AND DateTime <= @EndDate) temp
LEFT JOIN AnalogTag ON AnalogTag.TagName = temp.TagName
LEFT JOIN EngineeringUnit ON AnalogTag.EUKey = EngineeringUnit.EUKey
LEFT JOIN QualityMap ON QualityMap.QualityDetail = temp.QualityDetail
WHERE temp.StartDateTime >= @StartDate"
);그리고 쿼리가 끝날 무렵 팝업 화면 캡처

고마워요!