我正在制作一份简单的SSRS报告。如此简单,不值得进入。 查询非常简单。再这么简单。
我遇到的问题是,基于使用DATETIME变量或ODBC文字,管理工作室的性能大幅下降。
那么这个查询
DECLARE @StartDate AS DATETIME = '2015-09-15'
DECLARE @EndDate AS DATETIME = '2015-10-01'
SELECT *
FROM dbo.HEADER
WHERE TRANSDATE BETWEEN @StartDate AND @EndDate
执行非常糟糕...就像没有那么多记录那样30秒。
然后这个查询...
SELECT *
FROM dbo.HEADER
WHERE TRANSDATE BETWEEN {ts '2015-09-15 00:00:00.00'} AND {ts '2015-10-01 00:00:00.00'}
跑得很快......就像0秒。
任何人都可以为我解释这种行为吗?在我看来,SQL服务器会将它们视为相同,但显然我错了。