많은 수의 게이지에 대해 5 분 간격으로 데이터 판독 값을 저장합니다. 참여누적 합계가 느린 SQL 쿼리
데이터 테이블은 다음과 같습니다
Table1 - GaugeData
Columns -
GaugeID (int, primary key)
Timestamp (datetime, primary key)
Value (decimal)
Table2 - GaugeSummaryData
Columns -
GaugeID (int, primary key)
DayTimestamp (date, primary key)
DayTotal (decimal) - total for the current date/day
CumulativeTotal (decimal) - total up to and including the current date
어떤 방법으로 테이블 구조를 변경하지 않고, 무엇을 복사하는 가장 효율적인 방법 및 GaugeSummaryData에 GaugeData에서 집계 데이터는 것입니까?
나는이 두 가지 방법을 이미 시도해 보았습니다. 커서를 사용하면 GaugeData에서 GaugeSummaryData로 모든 데이터를 복사하는 데 40 분이 소요됩니다. 삽입/업데이트 문 사용에는 2 시간 이상이 걸렸습니다.
누군가 가장 효율적인 방법을 제안 해주세요. 가짜 코드 또는 SQL은 높이 평가했다.
얼마나 많은 데이터가 있습니까? 10MB? 100GB? –
약 5GB – user1634569
SQL 프로파일 러를 사용하여 쿼리의 어느 부분이 가장 많은 시간을 사용하고 있는지 확인한 적이 있습니까? –