功能 :
create function .[data_by_date_district](@rev_datetime datetime)
returns table
as
return
(
SELECT
ro.Region,[DATETIME],
sum(datain) 'datain',
sum(dataout) 'dataout'
FROM
data.inoutdata cr
join
structure.site ro on
ro.site = substring(replace([siteunqid],'**',''),1,LEN(siteunqid)-1)
where [DATETIME] =@rev_datetime
group by Region,[DATETIME]
);
使用任何日期执行此函数需要 00:00:00。
现在,当我将它与另一个表连接起来需要 4 秒(这个表是 75 行):
SELECT
Region,[DATETIME],datain,dataout,(cr.datain+cr.dataout) 'total',SP_GEOMETRY,MI_STYLE,MI_PRINX
FROM
data.data_by_date_district(DATEADD(DAY,-1,cast(GETDATE() as DATE)) ) cr
join
datamap.VectorMaps.REGION_BND db
on db.Name = cr.Region
第一个表有 1,700,000 行数据,每天增加 170,000 行,但另一个表只有 75 行。有什么办法可以减少查询时间吗?函数的结果是 75 行。