Browser ed也是,但他认为这可能是解决浏览器超时问题的一种方法。这不是一种可能性吗?@shicky我们也许能够修复一些需要大量代码的sql。你能为其中一些发布执行计划吗。我认为成本是由于介于和或之间的条件造成的。为原始查询的执行计划建立链接。试图沿着参数嗅探的路线
Browser ed也是,但他认为这可能是解决浏览器超时问题的一种方法。这不是一种可能性吗?@shicky我们也许能够修复一些需要大量代码的sql。你能为其中一些发布执行计划吗。我认为成本是由于介于和或之间的条件造成的。为原始查询的执行计划建立链接。试图沿着参数嗅探的路线,browser,reporting-services,timeout,Browser,Reporting Services,Timeout,ed也是,但他认为这可能是解决浏览器超时问题的一种方法。这不是一种可能性吗?@shicky我们也许能够修复一些需要大量代码的sql。你能为其中一些发布执行计划吗。我认为成本是由于介于和或之间的条件造成的。为原始查询的执行计划建立链接。试图沿着参数嗅探的路线走,但运气不好。在切换到不使用参数的存储过程方面的变化已经完全改变了执行计划,这很有趣。你认为这种情况有什么问题?我不确定会有什么选择?目前正在研究SSRS中的分组是否是issue@schicky在reporting services之外,运行
ed也是,但他认为这可能是解决浏览器超时问题的一种方法。这不是一种可能性吗?@shicky我们也许能够修复一些需要大量代码的sql。你能为其中一些发布执行计划吗。我认为成本是由于介于和或之间的条件造成的。为原始查询的执行计划建立链接。试图沿着参数嗅探的路线走,但运气不好。在切换到不使用参数的存储过程方面的变化已经完全改变了执行计划,这很有趣。你认为这种情况有什么问题?我不确定会有什么选择?目前正在研究SSRS中的分组是否是issue@schicky在reporting services之外,运行该查询需要多长时间?由于某些原因,它现在正在运行,但以前在SQL studio中,我们可以在大约1分钟48内执行原始查询,这会下降到30秒,但由于缓存的原因。尝试在SSRS中生成报告花费了25分钟。
USE [Apollo_Interface_Staging]
GO
/****** Object: StoredProcedure [dbo].[spRptGMPP_UploadResults] Script Date: 01/27/2012 11:09:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spRptGMPP_UploadResults]
-- Add the parameters for the stored procedure here
@StartDate DATETIME,
@EndDate DATETIME,
@UploadStatus VARCHAR(15)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @TrueEndDate DATETIME
SELECT @TrueEndDate = (select DATEADD(ms,-3,DATEADD(dd, DATEDIFF(dd,0,@EndDate), 1)))
SELECT
VIN1
,TR_DATE
,CASE WHEN REC_STAT = 'A' THEN 'Add' WHEN REC_STAT = 'D' THEN 'Delete' WHEN REC_STAT = 'C' THEN 'Change' ELSE REC_STAT END as REC_STAT
, FRAN_CDE
, WARR_ODD
, WARR_MTH
, cast(rds_fee as money)/100 * CASE WHEN REC_STAT = 'D' THEN -1 ELSE 1 END as Fee
,PROV
,ROUND((gst.Percentage)/100 * cast(rds_fee as money)/100 * CASE WHEN REC_STAT = 'D' THEN -1 ELSE 1 END,2) as GST
,CASE WHEN prov NOT IN ('ON','BC') THEN
ROUND((hst.Percentage)/100 * cast(rds_fee as money)/100 *CASE WHEN REC_STAT = 'D' THEN -1 ELSE 1 END,2)
ELSE 0
END as HST
,CASE WHEN prov = 'ON' THEN
ROUND((hst.Percentage)/100 * cast(rds_fee as money)/100 *CASE WHEN REC_STAT = 'D' THEN -1 ELSE 1 END,2)
ELSE 0
END as HST_ON
,CASE WHEN prov = 'BC' THEN
ROUND((hst.Percentage)/100 * cast(rds_fee as money)/100 *CASE WHEN REC_STAT = 'D' THEN -1 ELSE 1 END,2)
ELSE 0
END as HST_BC
,ROUND((hst.Percentage)/100 * cast(rds_fee as money)/100 *CASE WHEN REC_STAT = 'D' THEN -1 ELSE 1 END,2) as HST
,ROUND((1 + (gst.Percentage)/100)
* (qst.Percentage)/100 * cast(rds_fee as money)/100, 2) *CASE WHEN REC_STAT = 'D' THEN -1 ELSE 1 END as QST
,_UploadStatus as UploadStatus
,CAST(YEAR(_UploadDate) as varchar)+ '/' + RIGHT('0' + cast(MONTH(_UploadDate)as varchar) ,2)+ '/' + RIGHT('0' + DAY(_UploadDate),2) as UploadDate
,_UploadDescription as UploadDescription
,'' as VehicleMake--,Apollo.dbo.GetGMManufacturerFromVIN(VIN1) AS VehicleMake
,'' as VehicleYear--,Apollo.dbo.GetVehYear(VIN1) AS VehicleYear
,ID
,ISNULL(mem.MembershipID,'') as MembershipID
,ISNULL(mem.MembershipTermID,'') as MembershipTermID
,ISNULL(p.Name,'') as [Plan]
,CASE mem.ActionTaken
WHEN 0 THEN 'None'
WHEN 1 THEN 'Upgraded'
WHEN 2 THEN 'Reverse Upgrade'
WHEN 3 THEN 'Created'
WHEN 4 THEN 'Cancelled'
WHEN 5 THEN 'Status Changed'
WHEN 6 THEN 'Static Update'
ELSE ''
END as Action
,ISNULL((SELECT SUM(mtd.Amount) FROM Apollo.dbo.MemberTransactionDetail mtd WITH(NOLOCK) WHERE mtd.MemberTransactionID = mem.TransactionID),0) as TransactionAmount
,ISNULL((select SUM(pe.InitialValue) from apollo_drm..[transaction] trx WITH(NOLOCK) inner join apollo_drm..paymentelement pe WITH(NOLOCK) ON pe.transactionid = trx.transactionid where trx.externalref = mem.TransactionID AND trx.ExternalRef > 0),0) as DRMTransactionAmount
,gm.STAMP as DateTimeStamp
FROM
Apollo_Interface_Staging.dbo.gmpp_archive gm WITH(NOLOCK)
LEFT OUTER JOIN Apollo_Interface_Staging.dbo.GMPP_Effected_Memberships mem WITH(NOLOCK) ON mem.GMPP_ImportID = gm.ID
LEFT OUTER JOIN Apollo..MembershipTerm mt WITH(NOLOCK) ON mt.MembershipTermID = mem.MembershipTermID
LEFT OUTER JOIN Apollo..[PlanVersion] pv WITH(NOLOCK) ON pv.PlanVersionID = mt.PlanVersionID
LEFT OUTER JOIN Apollo..[Plan] p WITH(NOLOCK) ON p.PlanID = pv.PlanID
LEFT OUTER JOIN APollo..PRovinceOrSTateTax gst WITH(NOLOCK) ON gst.PRovinceOrStateTaxID = (
SELECT TOP 1 tmp.PRovinceOrStateTaxID
FROM Apollo.dbo.ProvinceOrStateTax tmp
WHERE tmp.TaxTypeProgKey = 'GST'
AND tmp.ProvinceOrStateProgKey = prov
AND tmp.StartDate <= GETDATE()
ORDER BY
tmp.StartDate DESC
)
LEFT OUTER JOIN APollo..PRovinceOrSTateTax hst WITH(NOLOCK) ON hst.PRovinceOrStateTaxID = (
SELECT TOP 1 tmp.PRovinceOrStateTaxID
FROM Apollo.dbo.ProvinceOrStateTax tmp
WHERE tmp.TaxTypeProgKey = 'HST'
AND tmp.ProvinceOrStateProgKey = prov
AND tmp.StartDate <= GETDATE()
ORDER BY
tmp.StartDate DESC
)
LEFT OUTER JOIN APollo..PRovinceOrSTateTax qst WITH(NOLOCK) ON qst.PRovinceOrStateTaxID = (
SELECT TOP 1 tmp.PRovinceOrStateTaxID
FROM Apollo.dbo.ProvinceOrStateTax tmp
WHERE tmp.TaxTypeProgKey = 'QST'
AND tmp.ProvinceOrStateProgKey = prov
AND tmp.StartDate <= GETDATE()
ORDER BY
tmp.StartDate DESC
)
WHERE
STAMP BETWEEN @StartDate AND @TrueEndDate
AND
(
@UploadStatus = 'ALL'
OR
_UploadStatus = @UploadStatus
)
END